Thread (20 messages) 20 messages, 3 authors, 2015-01-14

Re: [PATCH 3/7] wait.[ch]: Introduce the simple waitqueue (swait) implementation

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2014-10-20 16:47:22
Also in: lkml

On Mon, 20 Oct 2014 12:05:42 -0400
Paul Gortmaker [off-list ref] wrote:
 
quoted
No. You move the items off the main list head and add it to the local
list and they never go back. Just start processing that local list.
Anything added to the main list after that will not get woken up by
that current wake_all call. It will need to be woken by another wake_up.
OK.  But we may not run all of the wakeups, because of:

+                       if (++woken == nr_exclusive)
+                               break;
quoted
quoted
What would need to be done as an unwind at the end of processing the
local list head before it disappears from existence?  Anything?
Not sure what you mean here.
Per above -- can't there be "orphaned" entries that only exist on the
local list head that didn't get processed?  What happens to those?
Why not just take off nr_exclusive tasks off the main list and add
those to the local list, and then wake up all on the local list?

-- Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help