Re: [GIT PULL v2] nohz: Move nohz kick out of scheduler IPI

From: Ingo Molnar
Date: Wed Apr 16 2014 - 03:37:38 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> Ingo, Thomas,
>
> Please pull the timers/nohz-ipi-for-tip-v3 branch that can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> timers/nohz-ipi-for-tip-v3
>
> It is based on 7a48837732f87a574ee3e1855927dc250117f565
> ("Merge branch 'for-3.15/core' of git://git.kernel.dk/linux-block")
> due to dependencies on the block tree containing IPI core changes.
>
> This v2 addresses Paul review and add his reviewed-by tags.
>
> I'm trying to get these 2 patches in before the merge window ends
> otherwise we'll have to do tricky branch split on the next cycle.
>
> ---
> When a full dynticks CPU runs in single task mode then a new task gets
> enqueued, we notify it through an IPI such that it restarts its tick.
>
> The IPI used here is the scheduler IPI. There are a few reasons for that:
> it can be called when interrupts are disabled, it can be called
> concurrently... These convenient properties altogether aren't yet offered
> by the IPI subsystem.
>
> Meanwhile, bloating that way the scheduler IPI with scheduler unrelated
> code is an abuse of this fast path. We certainly don't want to start a
> big kernel IPI.
>
> So this patchset adds a small helper to the IPI subsystem that allows
> to queue an IPI from interrupt disabled code while handling concurrent
> callers as well. Eventually the nohz kick gets converted to this new facility.
>
> Partly inspired by a suggestion from Peter Zijlstra.
>
> * Patch 1/2 brings the IPI infrastructure to support this
> * Patch 2/2 does the nohz IPI conversion
>
>
> Thanks,
> Frederic
> ---
>
> Frederic Weisbecker (2):
> smp: Non busy-waiting IPI queue
> nohz: Move full nohz kick to its own IPI
>
>
> include/linux/smp.h | 11 +++++++++++
> include/linux/tick.h | 2 ++
> kernel/sched/core.c | 5 +----
> kernel/sched/sched.h | 2 +-
> kernel/smp.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> kernel/time/tick-sched.c | 21 +++++++++++++++++++++
> 6 files changed, 78 insertions(+), 5 deletions(-)

Pulled into tip:timers/nohz, thanks a lot Frederic!

Ingo
--
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/