Re: [PATCH 02/10] nohz: Kick full dynticks timer targets with an empty IPI

From: Frederic Weisbecker
Date: Sat Jul 19 2014 - 09:54:24 EST


On Sat, Jul 19, 2014 at 03:47:41PM +0200, Peter Zijlstra wrote:
> On Sat, Jul 19, 2014 at 03:18:47PM +0200, Frederic Weisbecker wrote:
> > On Sat, Jul 19, 2014 at 09:19:51AM +0200, Peter Zijlstra wrote:
> > > On Sat, Jul 19, 2014 at 02:44:13AM +0200, Frederic Weisbecker wrote:
> > > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> > > > index 7f3063c..f3e48b8 100644
> > > > --- a/kernel/sched/core.c
> > > > +++ b/kernel/sched/core.c
> > > > @@ -693,7 +693,7 @@ static bool wake_up_full_nohz_cpu(int cpu)
> > > > if (tick_nohz_full_cpu(cpu)) {
> > > > if (cpu != smp_processor_id() ||
> > > > tick_nohz_tick_stopped())
> > > > - tick_nohz_full_kick_cpu(cpu);
> > > > + irq_work_void_on(cpu);
> > >
> > > So no, while the previous function name was descriptive, the new one
> > > leave one wondering.
> >
> > Yeah, I suppose I can wrap that to some new function: tick_nohz_full_reschedule_cpu()
> > for example (although that looks a bit like a sched thing).
> >
> > That said I plan to gather tick stop and tick restart in the same place, in the
> > end of the interrupt. So in the end we'll have only one tick_nohz_full_kick_cpu()
> > for all kick uses, and this will just wrapp to irq_work_void_on().
>
> So there's already kick_all_cpus_sync() in kernel/smp.c, I would suggest
> implementing your irq_work_void_on() as kick_cpu() right next to it.

Good point!

>
> And yes, I would suggest also keeping tick_nohz_full_kick_cpu() as a
> 'pointless' wrapper purely for 'documentation' value.

Ok, granted!

Thanks!
--
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/