Re: [rfc patch v2] rt,nohz_full: fix nohz_full for PREEMPT_RT_FULL

From: Mike Galbraith
Date: Fri Apr 10 2015 - 10:24:23 EST


On Fri, 2015-04-10 at 16:15 +0200, Sebastian Andrzej Siewior wrote:
> * Mike Galbraith | 2015-03-13 05:53:25 [+0100]:
>
> > First of all, a task being ticked and trying to shut the tick down
> > will
> > fail to do so due to having just awakened ksoftirqd, so let
> > ksoftirqd
> > try to do that after SOFTIRQ_TIMER processing. Secondly, should
> > the
> > tick be shut down, we may livelock in hrtimer-cancel() because in -
> > rt
> > a callback may be running. Break the loop, and let
> > tick_nohz_restart()
> > know that the timer is busy so it can bail.
>
> So with this patch
> http://marc.info/?l=linux-rt-users&m=142866940327602&w=2
>
> you could drop the hrtimer hacks. Is this the remaining part all
> that is
> required or we shorten the following patch a little more?

It's better to let the task that awakened ksoftirqd do the subtracting
instead of waiting for ksoftirqd to try again after waker fails, so it
wants to know that ksoftirqd is running due to that timer wakeup.

If you remove the hrtimer bit, you should quickly meet the livelock.

-Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/