DragonFly kernel List (threaded) for 2004-09
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
callout patch - make callouts per-cpu and MP safe.
This patch makes the kernel callout_*() interface per-cpu and MP safe.
Individual callouts may also be registered as MP safe or not via a second
argument to callout_reset() (using the same API a FreeBSD-5).
I would appreciate more widespread testing before I commit it. I did
some simple testing on a UP and SMP box but the API is used all over the
system so prudence is required :-)
fetch http://leaf.dragonflybsd.org/~dillon/callout01.patch
This will allow Jeff to start to actually turn off the Big Giant Lock
in portions of the networking code.
--
There is plenty of further work on the timeout_*() interface that can
be done. I would dearly love to replace the old timeout() and
untimeout() functions with the newer callout_init()/callout_reset() API,
because that will free up 800KB+ of wired physical memory and allow us
to remove a ton of cruft from kern_timeout.c. The old routines are used
all over the kernel but any developer who wants to have a go at it please
do! Submit patches one device at a time, though, and test that the
kernel compiles and boots before you submit (The patches are also going
to require very careful review once submitted).
Any takers?
-Matt
Matthew Dillon
<dillon@xxxxxxxxxxxxx>
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]