summaryrefslogtreecommitdiff
path: root/sys/kern/kern_workq.c
AgeCommit message (Collapse)Author
2009-09-02when you add a task to a workq, it allocates memory to handle theDavid Gwynne
task and shove it on a list. allocations can fail, so if something that wants to run a task later already has memory to handle the workq task then let it provide it via a new function called workq_queue_task. ok kettenis@
2009-06-24Remove a semicolon at the end of an if statement that made the threadJonathan Gray
waiting for all the workqs to die wakeup more often than it should have. ok dlg@ tedu@
2008-10-30reintroduce mutexes to workqs for locking.David Gwynne
tested by many on many archs including several alpha test. ok tedu@ go for it deraadt@
2008-10-27when shutting workq threads down, dont try to take the big kernelDavid Gwynne
lock when we've never given it up. this is a remnant of the mpsafe workq stuff we had that wasnt cleaned up properly. found by and fix tested by oga@
2008-02-15revert to a pre-mutex state. for unknown reasons, the mutexes do not provideTed Unangst
sufficient exclusion on alpha, leading to self-locking panics.
2007-12-13use a mutex to protect workq. incidentally, this removes the additionalTed Unangst
creation of threads which may have caused multile syswq threads to start. ok dlg
2007-11-28remove the DIRECTOK flag. the caller semantics were too weird, and it's aTed Unangst
bad idea to have functions that react unpredictably.
2007-11-25convert crypto thread to workq. add WQ_DIRECTOK flag to workq.Ted Unangst
combined, this lets us use crypto before the thread is running and therefore cryptoraid can attach nice and early. ok/testing deraadt mbalmer marco
2007-06-11kill unneeded include;Thordur I. Bjornsson
(stdarg.h, leftover from the vararg's idea). ok tedu@
2007-05-31switch the flags argument to the front, requested by artTed Unangst
ok dlg
2007-05-31add an interface for work queues run from a kernel thread.David Gwynne
this type of code is implemented many times already in the kernel, this is a generic version of all those replicated code bases. originally from tedu@ ok tedu@ tom@ deraadt@