[PATCH v2 0/4] sched/wait: fix and then kill abort_exclusive_wait()

From: Oleg Nesterov
Date: Tue Sep 06 2016 - 10:00:22 EST


On 09/02, Peter Zijlstra wrote:
>
> On Fri, Sep 02, 2016 at 02:06:43PM +0200, Oleg Nesterov wrote:
>
> > And, if you agree with this change I will try to change __wait_event()
> > as well and kill abort_exclusive_wait().
>
> Yeah, I think this'll work. Please send a new series with 'enhanced'
> changelog so that when we have to look at this again in a few
> weeks/months time we won't be cursing at ourselves for how the heck it
> was supposed to work.

OK, thanks, please see V2.

I think it makes sense to change ___wait_event() first, this simplifies the
documentation in __wait_on_bit_lock().

See also 4/4, it is new and simple. From the changelog

In particular we are ready to remove the signal_pending_state()
checks from wait_bit_action_f helpers and change __wait_on_bit_lock()
to use prepare_to_wait_event().

Yes. The necessary change is trivial. But this probably needs a separate
discussion/testing because we need to re-investigate the problem which was
somehow fixed by 68985633bccb60 "sched/wait: Fix signal handling in bit wait
helpers".

Oleg.

include/linux/wait.h | 17 ++-------
kernel/sched/wait.c | 101 ++++++++++++++++++++++++---------------------------
2 files changed, 52 insertions(+), 66 deletions(-)