DragonFly BSD
DragonFly kernel List (threaded) for 2004-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: callout patch - make callouts per-cpu and MP safe.


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 14 Sep 2004 10:28:46 -0700 (PDT)

:I'm asking because I don't think the callout_reset arguments which specify
:the target function and argument over and over again are the normal usage
:case. I'm not 100% sure of all uses, but e.g. for the NICs the arguments
:are always static.
:
:Have a look at OpenBSD's sys/timeout.h, they have timeout_set,
:timeout_add and timeout_del. 
:
:timeout_set gets the function and data parameter, timeout_add only the
:wanted delay. It's simpler to use because you don't have to worry about
:thos two all over the place.
:
:Both provide the same functionality and could be implemented in parallel,
:sure. But we could avoid having to change the existing API and could
:convert them on a case-by-case base.
:
:Joerg

    Well, callout_reset() is the only way to start a new timeout using
    the 'new' API in FreeBSD/DragonFly.

    I like the OpenBSD method better (as you describe it), but it would
    be a considerable amount of work to change our APIs. 

    If you want to change over to the OpenBSD API I would first say that
    we should get rid of the 'old' API (timeout() / untimeout()).  Once
    we get rid of the 'old' API we can shift the 'new' API over to a
    'newer then new' OpenBSD API :-)

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



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