Re: Linux 3.19-rc3

Peter Zijlstra
2015-01-06T11:42:32Z

On Tue, Jan 06, 2015 at 03:07:30AM -0800, Kent Overstreet wrote:
> > No, the root cause is nesting sleep primitives, this is not fixable in
> > the one place, both prepare_to_wait and mutex_lock are using
> > task_struct::state, they have to, no way around it.
>
> No, it's completely possible to construct a prepare_to_wait() that doesn't
> require messing with the task state. Had it for years.
>
> http://evilpiepirate.org/git/linux-bcache.git/log/?h=aio_ring_fix

Your closures are cute but not the same. And sure you can do a wait
queue like interface -- my wait_woken thing is an example -- that
doesn't require task state.

The point remains that you then have to fix every instance to conform to
the new interface.