Re: Linux 3.19-rc3

Kent Overstreet
2015-01-06T13:26:14Z

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