Count statistics for exec calls.
authorDavid Rhodus <drhodus@dragonflybsd.org>
Sat, 24 Apr 2004 04:09:22 +0000 (04:09 +0000)
committerDavid Rhodus <drhodus@dragonflybsd.org>
Sat, 24 Apr 2004 04:09:22 +0000 (04:09 +0000)
sys/kern/kern_exec.c
sys/sys/vmmeter.h
usr.bin/vmstat/vmstat.c

index 9588c53..8c39b3e 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/kern/kern_exec.c,v 1.107.2.15 2002/07/30 15:40:46 nectar Exp $
- * $DragonFly: src/sys/kern/kern_exec.c,v 1.23 2004/04/19 20:07:16 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_exec.c,v 1.24 2004/04/24 04:09:21 drhodus Exp $
  */
 
 #include <sys/param.h>
@@ -50,6 +50,7 @@
 #include <sys/shm.h>
 #include <sys/sysctl.h>
 #include <sys/vnode.h>
+#include <sys/vmmeter.h>
 #include <sys/aio.h>
 
 #include <vm/vm.h>
@@ -436,8 +437,10 @@ exec_fail_dealloc:
                vrele(imgp->vp);
        }
 
-       if (error == 0)
+       if (error == 0) {
+               ++mycpu->gd_cnt.v_exec;
                return (0);
+       }
 
 exec_fail:
        /* we're done here, clear P_INEXEC */
index b080407..c3c7e40 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)vmmeter.h   8.2 (Berkeley) 7/10/94
  * $FreeBSD: src/sys/sys/vmmeter.h,v 1.21.2.2 2002/10/10 19:28:21 dillon Exp $
- * $DragonFly: src/sys/sys/vmmeter.h,v 1.7 2003/07/24 01:41:27 dillon Exp $
+ * $DragonFly: src/sys/sys/vmmeter.h,v 1.8 2004/04/24 04:09:21 drhodus Exp $
  */
 
 #ifndef _SYS_VMMETER_H_
@@ -81,6 +81,7 @@ struct vmmeter {
        u_int v_forks;          /* number of fork() calls */
        u_int v_vforks;         /* number of vfork() calls */
        u_int v_rforks;         /* number of rfork() calls */
+       u_int v_exec;           /* number of exec() calls */
        u_int v_kthreads;       /* number of fork() calls by kernel */
        u_int v_forkpages;      /* number of VM pages affected by fork() */
        u_int v_vforkpages;     /* number of VM pages affected by vfork() */
index 3a38dc9..5f162e0 100644 (file)
@@ -33,7 +33,7 @@
  * @(#) Copyright (c) 1980, 1986, 1991, 1993 The Regents of the University of California.  All rights reserved.
  * @(#)vmstat.c        8.1 (Berkeley) 6/6/93
  * $FreeBSD: src/usr.bin/vmstat/vmstat.c,v 1.38.2.4 2001/07/31 19:52:41 tmm Exp $
- * $DragonFly: src/usr.bin/vmstat/vmstat.c,v 1.10 2004/04/02 05:46:03 hmp Exp $
+ * $DragonFly: src/usr.bin/vmstat/vmstat.c,v 1.11 2004/04/24 04:09:22 drhodus Exp $
  */
 
 #define _KERNEL_STRUCTURES
@@ -581,6 +581,7 @@ dosum(void)
        (void)printf("%9u  fork() calls\n", vmm.v_forks);
        (void)printf("%9u vfork() calls\n", vmm.v_vforks);
        (void)printf("%9u rfork() calls\n", vmm.v_rforks);
+       (void)printf("%9u exec() calls\n", vmm.v_exec);
        (void)printf("%9u swap pager pageins\n", vmm.v_swapin);
        (void)printf("%9u swap pager pages paged in\n", vmm.v_swappgsin);
        (void)printf("%9u swap pager pageouts\n", vmm.v_swapout);