DragonFly BSD
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.


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 13 Sep 2004 22:53:13 -0700 (PDT)

    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]