Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/thorpej-devvp]: src/sys Catch up with -current.



details:   https://anonhg.NetBSD.org/src/rev/6125f44f7bc8
branches:  thorpej-devvp
changeset: 514627:6125f44f7bc8
user:      fvdl <fvdl%NetBSD.org@localhost>
date:      Mon Oct 01 12:46:48 2001 +0000

description:
Catch up with -current.

diffstat:

 sys/kern/kern_allocsys.c                  |     3 +-
 sys/kern/kern_clock.c                     |   149 +-
 sys/kern/kern_exec.c                      |     7 +-
 sys/kern/kern_lock.c                      |    30 +-
 sys/kern/kern_malloc.c                    |     6 +-
 sys/kern/kern_malloc_debug.c              |     8 +-
 sys/kern/kern_ntptime.c                   |    91 +-
 sys/kern/kern_physio.c                    |    10 +-
 sys/kern/kern_synch.c                     |     3 +-
 sys/kern/kern_sysctl.c                    |     7 +-
 sys/kern/kern_time.c                      |   102 +-
 sys/kern/kgdb_stub.c                      |     4 +-
 sys/kern/subr_pool.c                      |   111 +-
 sys/kern/sys_pipe.c                       |    70 +-
 sys/kern/uipc_mbuf.c                      |     5 +-
 sys/kern/uipc_socket.c                    |    16 +-
 sys/kern/uipc_syscalls.c                  |     4 +-
 sys/kern/vfs_cache.c                      |    55 +-
 sys/kern/vfs_cluster.c                    |   789 ------
 sys/kern/vfs_lookup.c                     |     3 +-
 sys/kern/vfs_subr.c                       |   151 +-
 sys/kern/vfs_syscalls.c                   |    19 +-
 sys/kern/vfs_vnops.c                      |    27 +-
 sys/kern/vnode_if.c                       |    98 +-
 sys/kern/vnode_if.src                     |    33 +-
 sys/lib/libkern/arch/i386/memcmp.S        |     8 +-
 sys/lib/libsa/subr_prf.c                  |     3 +-
 sys/lib/libsa/ustarfs.c                   |    15 +-
 sys/lkm/TODO                              |     3 +-
 sys/lkm/compat/aout/lkminit_emul.c        |     4 +-
 sys/lkm/compat/aoutm68k/lkminit_emul.c    |     4 +-
 sys/lkm/exec/elf/lkminit_exec.c           |     4 +-
 sys/lkm/exec/freebsd_aout/lkminit_exec.c  |     4 +-
 sys/lkm/exec/freebsd_elf/lkminit_exec.c   |     4 +-
 sys/lkm/exec/hpux_aout/lkminit_exec.c     |     4 +-
 sys/lkm/exec/ibcs2_coff/lkminit_exec.c    |     4 +-
 sys/lkm/exec/ibcs2_elf/lkminit_exec.c     |     4 +-
 sys/lkm/exec/ibcs2_xout/lkminit_exec.c    |     4 +-
 sys/lkm/exec/linux_aout/lkminit_exec.c    |     4 +-
 sys/lkm/exec/linux_elf/lkminit_exec.c     |     4 +-
 sys/lkm/exec/m68k4k/lkminit_exec.c        |     4 +-
 sys/lkm/exec/netbsd32_aout/lkminit_exec.c |     4 +-
 sys/lkm/exec/netbsd32_elf/lkminit_exec.c  |     4 +-
 sys/lkm/exec/sunos32_aout/lkminit_exec.c  |     4 +-
 sys/lkm/exec/sunos_aout/lkminit_exec.c    |     4 +-
 sys/lkm/exec/svr4_32_elf/lkminit_exec.c   |     4 +-
 sys/lkm/exec/svr4_elf/lkminit_exec.c      |     6 +-
 sys/lkm/exec/vax1k/Makefile               |     4 +-
 sys/lkm/exec/vax1k/lkminit_exec.c         |     4 +-
 sys/miscfs/Makefile                       |     4 +-
 sys/miscfs/fdesc/fdesc_vfsops.c           |     3 +-
 sys/miscfs/fifofs/fifo.h                  |     3 +-
 sys/miscfs/fifofs/fifo_vnops.c            |    24 +-
 sys/miscfs/genfs/Makefile                 |     4 +-
 sys/miscfs/genfs/genfs.h                  |     5 +-
 sys/miscfs/genfs/genfs_node.h             |    62 +
 sys/miscfs/genfs/genfs_vnops.c            |   610 +++-
 sys/miscfs/kernfs/kernfs_vfsops.c         |     3 +-
 sys/miscfs/nullfs/null_vfsops.c           |     3 +-
 sys/miscfs/overlay/overlay_vfsops.c       |     3 +-
 sys/miscfs/portal/portal_vfsops.c         |     3 +-
 sys/miscfs/portal/portal_vnops.c          |     4 +-
 sys/miscfs/procfs/procfs.h                |     3 +-
 sys/miscfs/procfs/procfs_subr.c           |    43 +-
 sys/miscfs/procfs/procfs_vfsops.c         |    10 +-
 sys/miscfs/specfs/spec_vnops.c            |    50 +-
 sys/miscfs/specfs/specdev.h               |     3 +-
 sys/miscfs/syncfs/Makefile                |     7 +
 sys/miscfs/syncfs/sync_subr.c             |     5 +-
 sys/miscfs/umapfs/umap_vfsops.c           |     3 +-
 sys/miscfs/union/union_vfsops.c           |     3 +-
 sys/miscfs/union/union_vnops.c            |     6 +-
 sys/msdosfs/denode.h                      |     9 +-
 sys/msdosfs/msdosfs_denode.c              |    91 +-
 sys/msdosfs/msdosfs_vfsops.c              |     5 +-
 sys/msdosfs/msdosfs_vnops.c               |    60 +-
 sys/msdosfs/msdosfsmount.h                |     3 +-
 sys/net/bpf.c                             |     8 +-
 sys/net/dlt.h                             |     4 +-
 sys/net/if.c                              |    44 +-
 sys/net/if.h                              |     7 +-
 sys/net/if_eco.h                          |   158 +
 sys/net/if_ecosubr.c                      |   911 +++++++
 sys/net/if_gif.c                          |    10 +-
 sys/net/if_ieee80211.h                    |   201 +-
 sys/net/if_ieee80211subr.c                |  2229 +++++++++++++++++++
 sys/net/rtsock.c                          |     4 +-
 sys/netinet/in.c                          |     4 +-
 sys/netinet/in_proto.c                    |     4 +-
 sys/netinet/ip_auth.c                     |     5 +-
 sys/netinet/ip_fil.c                      |     6 +-
 sys/netinet/ip_fil.h                      |     4 +-
 sys/netinet/ip_flow.c                     |     4 +-
 sys/netinet/ip_input.c                    |     4 +-
 sys/netinet/ip_log.c                      |     3 +-
 sys/netinet/ip_output.c                   |     6 +-
 sys/netinet/tcp_input.c                   |   221 +-
 sys/netinet/tcp_output.c                  |    27 +-
 sys/netinet/tcp_subr.c                    |    13 +-
 sys/netinet/tcp_timer.c                   |   723 +++--
 sys/netinet/tcp_timer.h                   |    66 +-
 sys/netinet/tcp_usrreq.c                  |    11 +-
 sys/netinet/tcp_var.h                     |    82 +-
 sys/netinet/udp_usrreq.c                  |     4 +-
 sys/netinet6/esp_core.c                   |    12 +-
 sys/netinet6/ipsec.c                      |    63 +-
 sys/netisdn/i4b_l3fsm.c                   |     4 +-
 sys/netiso/clnp_frag.c                    |     6 +-
 sys/netiso/clnp_subr.c                    |     6 +-
 sys/netiso/tp_cons.c                      |     4 +-
 sys/netkey/key.c                          |    13 +-
 sys/netns/ns_cksum.c                      |     4 +-
 sys/netns/ns_error.h                      |     4 +-
 sys/netsmb/smb_usr.c                      |     4 +-
 sys/nfs/nfs.h                             |     5 +-
 sys/nfs/nfs_bio.c                         |   693 +----
 sys/nfs/nfs_node.c                        |    74 +-
 sys/nfs/nfs_serv.c                        |    49 +-
 sys/nfs/nfs_subs.c                        |    24 +-
 sys/nfs/nfs_var.h                         |     3 +-
 sys/nfs/nfs_vfsops.c                      |    14 +-
 sys/nfs/nfs_vnops.c                       |    25 +-
 sys/nfs/nfsmount.h                        |     3 +-
 sys/nfs/nfsnode.h                         |     6 +-
 sys/ntfs/ntfs_ihash.c                     |    45 +-
 sys/ntfs/ntfs_ihash.h                     |     3 +-
 sys/ntfs/ntfs_vfsops.c                    |    12 +-
 sys/sys/Makefile                          |    12 +-
 sys/sys/agpio.h                           |   130 +
 sys/sys/buf.h                             |     3 +-
 sys/sys/callout.h                         |     7 +-
 sys/sys/clockctl.h                        |    73 +
 sys/sys/conf.h                            |    20 +-
 sys/sys/malloc.h                          |     8 +-
 sys/sys/mount.h                           |     4 +-
 sys/sys/namei.h                           |     4 +-
 sys/sys/param.h                           |     5 +-
 sys/sys/proc.h                            |     5 +-
 sys/sys/rnd.h                             |    81 +-
 sys/sys/socket.h                          |    11 +-
 sys/sys/socketvar.h                       |     7 +-
 sys/sys/systm.h                           |    20 +-
 sys/sys/time.h                            |     5 +-
 sys/sys/timex.h                           |    13 +-
 sys/sys/vnode.h                           |    28 +-
 sys/sys/vnode_if.h                        |    89 +-
 sys/ufs/ext2fs/ext2fs_balloc.c            |    44 +-
 sys/ufs/ext2fs/ext2fs_extern.h            |    15 +-
 sys/ufs/ext2fs/ext2fs_readwrite.c         |    55 +-
 sys/ufs/ext2fs/ext2fs_vfsops.c            |    30 +-
 sys/ufs/ext2fs/ext2fs_vnops.c             |     8 +-
 sys/ufs/ffs/ffs_alloc.c                   |    21 +-
 sys/ufs/ffs/ffs_balloc.c                  |    61 +-
 sys/ufs/ffs/ffs_extern.h                  |     9 +-
 sys/ufs/ffs/ffs_inode.c                   |    30 +-
 sys/ufs/ffs/ffs_softdep.c                 |   347 ++-
 sys/ufs/ffs/ffs_softdep.stub.c            |     9 +-
 sys/ufs/ffs/ffs_vfsops.c                  |    51 +-
 sys/ufs/ffs/ffs_vnops.c                   |    93 +-
 sys/ufs/ffs/fs.h                          |     4 +-
 sys/ufs/lfs/lfs_alloc.c                   |     9 +-
 sys/ufs/lfs/lfs_extern.h                  |     3 +-
 sys/ufs/lfs/lfs_inode.c                   |     3 +-
 sys/ufs/lfs/lfs_syscalls.c                |    12 +-
 sys/ufs/lfs/lfs_vfsops.c                  |    16 +-
 sys/ufs/lfs/lfs_vnops.c                   |     6 +-
 sys/ufs/mfs/mfs_extern.h                  |     3 +-
 sys/ufs/mfs/mfs_vfsops.c                  |     9 +-
 sys/ufs/ufs/inode.h                       |     5 +-
 sys/ufs/ufs/quota.h                       |     3 +-
 sys/ufs/ufs/ufs_extern.h                  |     8 +-
 sys/ufs/ufs/ufs_ihash.c                   |    49 +-
 sys/ufs/ufs/ufs_inode.c                   |    47 +-
 sys/ufs/ufs/ufs_quota.c                   |    63 +-
 sys/ufs/ufs/ufs_readwrite.c               |   180 +-
 sys/ufs/ufs/ufs_vfsops.c                  |    11 +-
 sys/ufs/ufs/ufs_vnops.c                   |     8 +-
 sys/uvm/Makefile                          |     4 +-
 sys/uvm/uvm.h                             |     6 +-
 sys/uvm/uvm_amap.c                        |    86 +-
 sys/uvm/uvm_anon.c                        |    63 +-
 sys/uvm/uvm_aobj.c                        |   467 +--
 sys/uvm/uvm_aobj.h                        |     5 +-
 sys/uvm/uvm_bio.c                         |   258 +-
 sys/uvm/uvm_device.c                      |    44 +-
 sys/uvm/uvm_extern.h                      |    52 +-
 sys/uvm/uvm_fault.c                       |   202 +-
 sys/uvm/uvm_fault_i.h                     |     4 +-
 sys/uvm/uvm_glue.c                        |    20 +-
 sys/uvm/uvm_io.c                          |     4 +-
 sys/uvm/uvm_km.c                          |   259 +-
 sys/uvm/uvm_km.h                          |     4 +-
 sys/uvm/uvm_loan.c                        |    74 +-
 sys/uvm/uvm_loan.h                        |     6 +-
 sys/uvm/uvm_map.c                         |  3386 +++++++++++++++++++++++++++++
 sys/uvm/uvm_map.h                         |     3 +-
 sys/uvm/uvm_mmap.c                        |    21 +-
 sys/uvm/uvm_object.h                      |    16 +-
 sys/uvm/uvm_page.c                        |   244 +-
 sys/uvm/uvm_page.h                        |    26 +-
 sys/uvm/uvm_page_i.h                      |    68 +-
 sys/uvm/uvm_pager.c                       |   637 +----
 sys/uvm/uvm_pager.h                       |    79 +-
 sys/uvm/uvm_pdaemon.c                     |   483 +--
 sys/uvm/uvm_pglist.c                      |    59 +-
 sys/uvm/uvm_pmap.h                        |     4 +-
 sys/uvm/uvm_stat.c                        |     8 +-
 sys/uvm/uvm_swap.c                        |    72 +-
 sys/uvm/uvm_vnode.c                       |   725 +-----
 sys/uvm/uvm_vnode.h                       |    59 -
 210 files changed, 11663 insertions(+), 6305 deletions(-)

diffs (truncated from 27960 to 300 lines):

diff -r 41468a6924bd -r 6125f44f7bc8 sys/kern/kern_allocsys.c
--- a/sys/kern/kern_allocsys.c  Mon Oct 01 12:36:47 2001 +0000
+++ b/sys/kern/kern_allocsys.c  Mon Oct 01 12:46:48 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_allocsys.c,v 1.16 2001/06/25 22:08:52 thorpej Exp $       */
+/*     $NetBSD: kern_allocsys.c,v 1.16.4.1 2001/10/01 12:46:48 fvdl Exp $      */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -72,6 +72,7 @@
 
 
 #include "opt_bufcache.h"
+#include "opt_callout.h"
 #include "opt_sysv.h"
 
 #include <sys/param.h>
diff -r 41468a6924bd -r 6125f44f7bc8 sys/kern/kern_clock.c
--- a/sys/kern/kern_clock.c     Mon Oct 01 12:36:47 2001 +0000
+++ b/sys/kern/kern_clock.c     Mon Oct 01 12:46:48 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_clock.c,v 1.75 2001/05/06 13:46:34 simonb Exp $   */
+/*     $NetBSD: kern_clock.c,v 1.75.4.1 2001/10/01 12:46:48 fvdl Exp $ */
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -77,6 +77,7 @@
  *     @(#)kern_clock.c        8.5 (Berkeley) 1/21/94
  */
 
+#include "opt_callout.h"
 #include "opt_ntp.h"
 
 #include <sys/param.h>
@@ -91,6 +92,9 @@
 #include <sys/sysctl.h>
 #include <sys/timex.h>
 #include <sys/sched.h>
+#ifdef CALLWHEEL_STATS
+#include <sys/device.h>
+#endif
 
 #include <machine/cpu.h>
 #ifdef __HAVE_GENERIC_SOFT_INTERRUPTS
@@ -354,17 +358,18 @@
 static struct callout *nextsoftcheck;  /* next callout to be checked */
 
 #ifdef CALLWHEEL_STATS
-int    callwheel_collisions;           /* number of hash collisions */
-int    callwheel_maxlength;            /* length of the longest hash chain */
-int    *callwheel_sizes;               /* per-bucket length count */
-u_int64_t callwheel_count;             /* # callouts currently */
-u_int64_t callwheel_established;       /* # callouts established */
-u_int64_t callwheel_fired;             /* # callouts that fired */
-u_int64_t callwheel_disestablished;    /* # callouts disestablished */
-u_int64_t callwheel_changed;           /* # callouts changed */
-u_int64_t callwheel_softclocks;                /* # times softclock() called */
-u_int64_t callwheel_softchecks;                /* # checks per softclock() */
-u_int64_t callwheel_softempty;         /* # empty buckets seen */
+int         *callwheel_sizes;          /* per-bucket length count */
+struct evcnt callwheel_collisions;     /* number of hash collisions */
+struct evcnt callwheel_maxlength;      /* length of the longest hash chain */
+struct evcnt callwheel_count;          /* # callouts currently */
+struct evcnt callwheel_established;    /* # callouts established */
+struct evcnt callwheel_fired;          /* # callouts that fired */
+struct evcnt callwheel_disestablished; /* # callouts disestablished */
+struct evcnt callwheel_changed;                /* # callouts changed */
+struct evcnt callwheel_softclocks;     /* # times softclock() called */
+struct evcnt callwheel_softchecks;     /* # checks per softclock() */
+struct evcnt callwheel_softempty;      /* # empty buckets seen */
+struct evcnt callwheel_hintworked;     /* # times hint saved scan */
 #endif /* CALLWHEEL_STATS */
 
 /*
@@ -881,7 +886,7 @@
         */
        simple_lock(&callwheel_slock);  /* already at splclock() */
        hardclock_ticks++;
-       if (TAILQ_FIRST(&callwheel[hardclock_ticks & callwheelmask]) != NULL) {
+       if (! TAILQ_EMPTY(&callwheel[hardclock_ticks & callwheelmask].cq_q)) {
                simple_unlock(&callwheel_slock);
                if (CLKF_BASEPRI(frame)) {
                        /*
@@ -931,23 +936,34 @@
        softclock_running = 1;
 
 #ifdef CALLWHEEL_STATS
-       callwheel_softclocks++;
+       callwheel_softclocks.ev_count++;
 #endif
 
        while (softclock_ticks != hardclock_ticks) {
                softclock_ticks++;
                idx = (int)(softclock_ticks & callwheelmask);
                bucket = &callwheel[idx];
-               c = TAILQ_FIRST(bucket);
+               c = TAILQ_FIRST(&bucket->cq_q);
+               if (c == NULL) {
 #ifdef CALLWHEEL_STATS
-               if (c == NULL)
-                       callwheel_softempty++;
+                       callwheel_softempty.ev_count++;
 #endif
+                       continue;
+               }
+               if (softclock_ticks < bucket->cq_hint) {
+#ifdef CALLWHEEL_STATS
+                       callwheel_hintworked.ev_count++;
+#endif
+                       continue;
+               }
+               bucket->cq_hint = UQUAD_MAX;
                while (c != NULL) {
 #ifdef CALLWHEEL_STATS
-                       callwheel_softchecks++;
+                       callwheel_softchecks.ev_count++;
 #endif
                        if (c->c_time != softclock_ticks) {
+                               if (c->c_time < bucket->cq_hint)
+                                       bucket->cq_hint = c->c_time;
                                c = TAILQ_NEXT(c, c_link);
                                if (++steps >= MAX_SOFTCLOCK_STEPS) {
                                        nextsoftcheck = c;
@@ -959,11 +975,11 @@
                                }
                        } else {
                                nextsoftcheck = TAILQ_NEXT(c, c_link);
-                               TAILQ_REMOVE(bucket, c, c_link);
+                               TAILQ_REMOVE(&bucket->cq_q, c, c_link);
 #ifdef CALLWHEEL_STATS
                                callwheel_sizes[idx]--;
-                               callwheel_fired++;
-                               callwheel_count--;
+                               callwheel_fired.ev_count++;
+                               callwheel_count.ev_count--;
 #endif
                                func = c->c_func;
                                arg = c->c_arg;
@@ -976,6 +992,8 @@
                                c = nextsoftcheck;
                        }
                }
+               if (TAILQ_EMPTY(&bucket->cq_q))
+                       bucket->cq_hint = UQUAD_MAX;
        }
        nextsoftcheck = NULL;
        softclock_running = 0;
@@ -1007,10 +1025,35 @@
 {
        int i;
 
-       for (i = 0; i < callwheelsize; i++)
-               TAILQ_INIT(&callwheel[i]);
+       for (i = 0; i < callwheelsize; i++) {
+               callwheel[i].cq_hint = UQUAD_MAX;
+               TAILQ_INIT(&callwheel[i].cq_q);
+       }
 
        simple_lock_init(&callwheel_slock);
+
+#ifdef CALLWHEEL_STATS
+       evcnt_attach_dynamic(&callwheel_collisions, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "collisions");
+       evcnt_attach_dynamic(&callwheel_maxlength, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "maxlength");
+       evcnt_attach_dynamic(&callwheel_count, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "count");
+       evcnt_attach_dynamic(&callwheel_established, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "established");
+       evcnt_attach_dynamic(&callwheel_fired, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "fired");
+       evcnt_attach_dynamic(&callwheel_disestablished, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "disestablished");
+       evcnt_attach_dynamic(&callwheel_changed, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "changed");
+       evcnt_attach_dynamic(&callwheel_softclocks, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "softclocks");
+       evcnt_attach_dynamic(&callwheel_softempty, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "softempty");
+       evcnt_attach_dynamic(&callwheel_hintworked, EVCNT_TYPE_MISC,
+           NULL, "callwheel", "hintworked");
+#endif /* CALLWHEEL_STATS */
 }
 
 /*
@@ -1049,7 +1092,7 @@
        if (c->c_flags & CALLOUT_PENDING) {
                callout_stop_locked(c); /* Already locked */
 #ifdef CALLWHEEL_STATS
-               callwheel_changed++;
+               callwheel_changed.ev_count++;
 #endif
        }
 
@@ -1061,17 +1104,20 @@
        bucket = &callwheel[c->c_time & callwheelmask];
 
 #ifdef CALLWHEEL_STATS
-       if (TAILQ_FIRST(bucket) != NULL)
-               callwheel_collisions++;
+       if (! TAILQ_EMPTY(&bucket->cq_q))
+               callwheel_collisions.ev_count++;
 #endif
 
-       TAILQ_INSERT_TAIL(bucket, c, c_link);
+       TAILQ_INSERT_TAIL(&bucket->cq_q, c, c_link);
+       if (c->c_time < bucket->cq_hint)
+               bucket->cq_hint = c->c_time;
 
 #ifdef CALLWHEEL_STATS
-       callwheel_count++;
-       callwheel_established++;
-       if (++callwheel_sizes[c->c_time & callwheelmask] > callwheel_maxlength)
-               callwheel_maxlength =
+       callwheel_count.ev_count++;
+       callwheel_established.ev_count++;
+       if (++callwheel_sizes[c->c_time & callwheelmask] >
+           callwheel_maxlength.ev_count)
+               callwheel_maxlength.ev_count =
                    callwheel_sizes[c->c_time & callwheelmask];
 #endif
 
@@ -1086,6 +1132,7 @@
 static void
 callout_stop_locked(struct callout *c)
 {
+       struct callout_queue *bucket;
 
        /*
         * Don't attempt to delete a callout that's not on the queue.
@@ -1100,10 +1147,13 @@
        if (nextsoftcheck == c)
                nextsoftcheck = TAILQ_NEXT(c, c_link);
 
-       TAILQ_REMOVE(&callwheel[c->c_time & callwheelmask], c, c_link);
+       bucket = &callwheel[c->c_time & callwheelmask];
+       TAILQ_REMOVE(&bucket->cq_q, c, c_link);
+       if (TAILQ_EMPTY(&bucket->cq_q))
+               bucket->cq_hint = UQUAD_MAX;
 #ifdef CALLWHEEL_STATS
-       callwheel_count--;
-       callwheel_disestablished++;
+       callwheel_count.ev_count--;
+       callwheel_disestablished.ev_count++;
        callwheel_sizes[c->c_time & callwheelmask]--;
 #endif
 
@@ -1143,18 +1193,29 @@
        splx(s);
 
        printf("Callwheel statistics:\n");
-       printf("\tCallouts currently queued: %llu\n", callwheel_count);
-       printf("\tCallouts established: %llu\n", callwheel_established);
-       printf("\tCallouts disestablished: %llu\n", callwheel_disestablished);
-       if (callwheel_changed != 0)
-               printf("\t\tOf those, %llu were changes\n", callwheel_changed);
-       printf("\tCallouts that fired: %llu\n", callwheel_fired);
+       printf("\tCallouts currently queued: %llu\n",
+           (long long) callwheel_count.ev_count);
+       printf("\tCallouts established: %llu\n",
+           (long long) callwheel_established.ev_count);
+       printf("\tCallouts disestablished: %llu\n",
+           (long long) callwheel_disestablished.ev_count);
+       if (callwheel_changed.ev_count != 0)
+               printf("\t\tOf those, %llu were changes\n",
+                   (long long) callwheel_changed.ev_count);
+       printf("\tCallouts that fired: %llu\n",
+           (long long) callwheel_fired.ev_count);
        printf("\tNumber of buckets: %d\n", callwheelsize);
-       printf("\tNumber of hash collisions: %d\n", callwheel_collisions);
-       printf("\tMaximum hash chain length: %d\n", callwheel_maxlength);
+       printf("\tNumber of hash collisions: %llu\n",
+           (long long) callwheel_collisions.ev_count);
+       printf("\tMaximum hash chain length: %llu\n",
+           (long long) callwheel_maxlength.ev_count);
        printf("\tSoftclocks: %llu, Softchecks: %llu\n",
-           callwheel_softclocks, callwheel_softchecks);
-       printf("\t\tEmpty buckets seen: %llu\n", callwheel_softempty);
+           (long long) callwheel_softclocks.ev_count,
+           (long long) callwheel_softchecks.ev_count);
+       printf("\t\tEmpty buckets seen: %llu\n",
+           (long long) callwheel_softempty.ev_count);
+       printf("\t\tTimes hint saved scan: %llu\n",
+           (long long) callwheel_hintworked.ev_count);
 }
 #endif
 
diff -r 41468a6924bd -r 6125f44f7bc8 sys/kern/kern_exec.c
--- a/sys/kern/kern_exec.c      Mon Oct 01 12:36:47 2001 +0000
+++ b/sys/kern/kern_exec.c      Mon Oct 01 12:46:48 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_exec.c,v 1.144.2.1 2001/09/18 19:13:53 fvdl Exp $ */
+/*     $NetBSD: kern_exec.c,v 1.144.2.2 2001/10/01 12:46:49 fvdl Exp $ */
 
 /*-
  * Copyright (C) 1993, 1994, 1996 Christopher G. Demetriou
@@ -140,6 +140,7 @@
        trapsignal,
        sigcode,
        esigcode,



Home | Main Index | Thread Index | Old Index