On Tue, Dec 17, 2013 at 03:52:48PM -0800, Paul E. McKenney wrote: > On Tue, Dec 17, 2013 at 11:51:26PM +0100, Frederic Weisbecker wrote: > > We need the default timekeeping CPU to be able to receive IPIs sent > > from full dynticks CPUs when they wake up from full system idle state. > > > > Therefore we need an entrypoint from the scheduler IPI so that the > > need to poll on timekeeping duty is re-evaluated from irq_exit(). > > > > In order to achieve this, lets take the scheduler IPI everytime as long > > as there is at least one full dynticks CPU around. Full dynticks CPUs > > are interested too in taking scheduler IPIs to reevaluate their tick. > > > > Signed-off-by: Frederic Weisbecker <fweis...@gmail.com> > > Cc: Thomas Gleixner <t...@linutronix.de> > > Cc: Ingo Molnar <mi...@kernel.org> > > Cc: Peter Zijlstra <pet...@infradead.org> > > Cc: Steven Rostedt <rost...@goodmis.org> > > Cc: Paul E. McKenney <paul...@linux.vnet.ibm.com> > > Cc: John Stultz <john.stu...@linaro.org> > > Cc: Alex Shi <alex....@linaro.org> > > Cc: Kevin Hilman <khil...@linaro.org> > > --- > > kernel/sched/core.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > > index e85cda2..f46a7bc 100644 > > --- a/kernel/sched/core.c > > +++ b/kernel/sched/core.c > > @@ -1502,9 +1502,9 @@ void scheduler_ipi(void) > > if (tif_need_resched()) > > set_preempt_need_resched(); > > > > - if (llist_empty(&this_rq()->wake_list) > > - && !tick_nohz_full_cpu(smp_processor_id()) > > - && !got_nohz_idle_kick()) > > + if (llist_empty(&this_rq()->wake_list) && > > + !tick_nohz_full_enabled() && > > + !got_nohz_idle_kick()) > > return; > > OK, this is what I was missing in my question about whether the > NO_HZ_FULL state was re-evaluated in the interrupt-return path.
I tend to write my patchset by splitting every single logical bricks and then only in the end I enable the feature. But that makes a tradeoff between patchset granularity and global overview. And in the end, may be it's unbalanced toward overview. Notwithstanding bisectability. I remember I had similar reactions when I posted the initial full nohz patchset. OTOH it's not good to have big all-in-one patches. And granular patchsets like this are better to focus discussions on each isolated topics. There is a hard balance to find out here. > Thanx, Paul > > > /* > > -- > > 1.8.3.1 > > > -- 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/