Source-Changes archive

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

CVS commit: src/sys



Module Name:    src
Committed By:   thorpej
Date:           Tue Feb  4 01:21:07 UTC 2003

Modified Files:
        src/sys/conf: files
        src/sys/ddb: db_xxx.c
        src/sys/kern: kern_allocsys.c kern_clock.c
        src/sys/netiso: tp_pcb.h tp_subr.c
        src/sys/sys: callout.h kernel.h systm.h
Added Files:
        src/sys/kern: kern_timeout.c

Log Message:
New callout implementation.  This is based on callwheel implementation
done by Artur Grabowski and Thomas Nordin for OpenBSD, which is more
efficient in several ways than the callwheel implementation that it is
replacing.  It has been adapted to our pre-existing callout API, and
also provides the slightly more efficient (and much more intuitive)
API (adapted to the callout_*() naming scheme) that the OpenBSD version
provides.

Among other things, this shaves a bunch of cycles off rescheduling-in-
the-future a callout which is already scheduled, which the common case
for TCP timers (notably REXMT and KEEP).

The API has been simplified a bit, as well.  The (very confusing to
a good many people) "ACTIVE" state for callouts has gone away.  There
is now only "PENDING" (scheduled to fire in the future) and "EXPIRED"
(has fired, and the function called).

Kernel version bump not done; we'll ride the 1.6N bump that happened
with the malloc(9) change.


To generate a diff of this commit:
cvs rdiff -r1.594 -r1.595 src/sys/conf/files
cvs rdiff -r1.19 -r1.20 src/sys/ddb/db_xxx.c
cvs rdiff -r1.22 -r1.23 src/sys/kern/kern_allocsys.c
cvs rdiff -r1.83 -r1.84 src/sys/kern/kern_clock.c
cvs rdiff -r0 -r1.1 src/sys/kern/kern_timeout.c
cvs rdiff -r1.13 -r1.14 src/sys/netiso/tp_pcb.h
cvs rdiff -r1.14 -r1.15 src/sys/netiso/tp_subr.c
cvs rdiff -r1.16 -r1.17 src/sys/sys/callout.h
cvs rdiff -r1.18 -r1.19 src/sys/sys/kernel.h
cvs rdiff -r1.158 -r1.159 src/sys/sys/systm.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index