On Fri, Nov 18, 2011 at 01:09:49AM +0100, Jean-Yves Migeon wrote:
- force all xcall(9) API consumers to pass dynamically allocated
arguments, a bit like workqueue(9) enqueues works. Scheduling
xcall(9) is now managed by a SIMPLEQ() of requests.
- extends softint(9) API so we can pass arguments to it as well as
the targetted CPU(s) (optional argument).
The last two points make me think that the softint(9), workqueue(9)
and xcall(9) APIs have a potential for unification; all of these are
somewhat redundant, they all schedule/signal/dispatch stuff to other
threads, albeit under different conditions though.
See "Kernel Continuations" in
<http://www.netbsd.org/~matt/smpnet.html>.
IIRC, the document does not contemplate putting xcall(9) under
the proposed kernel-continuations framework, but it does mention
both softints and workqueues as candidates for unification under
continuations.