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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/