Messages in this thread | | | Date | Tue, 6 Jan 2015 05:28:44 -0800 | From | Kent Overstreet <> | Subject | Re: Linux 3.19-rc3 |
| |
On Tue, Jan 06, 2015 at 02:03:17PM +0100, Peter Zijlstra wrote: > Yeah I got that aspect. I'm still trying to get my head around how the > wait_event bit would be a natural match though ;-) > > Let me stew a bit on that.
Also, I think it was kind of a surprise to me back in the day how structurally similar the wait_event() implementation (circa several years ago, not the monstrosity it is now :) and closure_wait_event() turned out - I wasn't aiming for that, but that got me thinking there must be something more fundamental going on here.
Probably rambling at this point though.
> That said, the RT people want a simple waitqueue, one that has > deterministic behaviour. This is only possibly by removing some of the > more obscure waitqueue features and thus also results in a slimmer > structure.
Oh really? That's good to hear.
I do like wake_all() being cheaper with the singly linked list, wakups are much more common than waiting on things (e.g. the aio code delivering events to the ringbuffer, anything that's freeing up resources).
Been kind of wondering how sane it would be to implement finish_wait()/wake_one() with a singly linked list, and maybe preserve some of the locklessness. You do fancy lockless stuff too, don't you? Maybe you have some ideas :)
| |