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
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