Re: Linux 3.19-rc3

Peter Zijlstra
2015-01-06T13:03:35Z

On Tue, Jan 06, 2015 at 04:43:13AM -0800, Kent Overstreet wrote:
> It might make the most sense to cook up something new, stealing some of the
> closure code but using standard the wait_queue_head_t - having a single standard
> waitlist type is definitely a good thing, and unfortunately I don't think it'd
> be a good idea to convert closures to wait_queue_head_t mainly because of the
> memory usage.
>
> I will note that one thing that has been immensely useful with closures is the
> ability to pass a closure around - think of it as a "wait object" - to some code
> that may end up waiting on something, but you don't want to itself sleep, and
> then the caller can closure_sync() or continue_at() or whatever it wants (or use
> the same closure for waiting on multiple things, e.g. where we wait on writing
> the two new btree nodes after a split).
>
> Think of it a souped up completion.

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.

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.