On 2017-06-19 10:08:38 [-0400], Steven Rostedt wrote:
> > diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> > index 30b24f774198..10e832da70b6 100644
> > --- a/kernel/sched/core.c
> > +++ b/kernel/sched/core.c
> > @@ -2284,7 +2284,7 @@ EXPORT_SYMBOL(wake_up_process);
> >   */
> >  int wake_up_lock_sleeper(struct task_struct *p)
> >  {
> > -       return try_to_wake_up(p, TASK_ALL, WF_LOCK_SLEEPER);
> > +       return try_to_wake_up(p, TASK_UNINTERRUPTIBLE, WF_LOCK_SLEEPER);
> >  }
> > 
> > ...appears to be inducing lost futex wakeups.
> 
> Hmm, it shouldn't affect futexes, as it's only called by rtmutex when
> waiter->savestate is true. And that should always be false for futex.

you still have sleeping locks like the hb-lock (which might matter in
case the task blocks on the lock and does not continue for some reason).

> -- Steve

Sebastian

Reply via email to