1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-02-09 02:26:27 +00:00
John Baldwin 3335671ddd Split sleepq_wakeup_thread() into two functions. sleepq_remove_thread()
removes a specific thread from a sleep queue.  sleepq_resume_thread()
resumes scheduling of a thread that has been previously removed from a
sleep queue.
- sleepq_catch_signals() just removes a thread from the queue it was just
  added to when a pending signal is found.
- sleepq_signal() and sleepq_broadcast() remove threads from a queue,
  drop the queue lock, and then resume all the previously removed threads.
  This doesn't completely fix the sched_lock <-> sleepq chain LOR, but it
  makes it a little better as we no longer call setrunnble() with a sleep
  queue lock held meaning if setrunnable() tries to wakeup the swapper we
  don't try to lock two sleep queue chains at the same time.
2004-05-13 20:00:43 +00:00
..
2004-05-02 19:24:23 +00:00
2004-02-21 21:32:15 +00:00
2004-04-30 20:51:55 +00:00
2004-05-13 11:17:07 +00:00
2004-05-13 19:15:21 +00:00
2004-05-11 20:14:53 +00:00
2004-05-13 11:13:55 +00:00
2004-04-16 05:22:11 +00:00