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

From: Ingo Molnar
Date: Wed Jun 18 2014 - 12:48:50 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> Ingo,
>
> Please pull the timers/nohz-irq-work-v7 branch that can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> timers/nohz-irq-work-v7
>
> It has been acked by Peterz.
>
> --- Summary ---
>
> This set moves the nohz kick, used to notify a full dynticks CPU when
> events require tick rescheduling, out of the scheduler tick to a
> dedicated IPI.
>
> This debloats a bit the scheduler IPI from off-topic work that was
> abusing that scheduler fast path for its convenient asynchronous
> properties. Now the nohz kick uses irq work for its own needs.
>
> Of course this implied quite some background infrastructure rework,
> including:
>
> * Clean up some irq work internals
> * Implement remote irq work
> * Implement nohz kick on top of remote irq work
> * Move full dynticks timer enqueue notification to new kick
> * Move multi-task notification to new kick
> * Remove unecessary barriers on multi-task notification
>
> Thanks,
> Frederic
> ---
>
> Frederic Weisbecker (6):
> irq_work: Split raised and lazy lists
> irq_work: Implement remote queueing
> nohz: Support nohz full remote kick
> nohz: Switch to nohz full remote kick on timer enqueue
> nohz: Use nohz own full kick on 2nd task enqueue
> nohz: Use IPI implicit full barrier against rq->nr_running r/w
>
>
> include/linux/irq_work.h | 5 ++++
> include/linux/tick.h | 9 +++++-
> kernel/irq_work.c | 76 ++++++++++++++++++++++++++++++------------------
> kernel/sched/core.c | 22 ++++++++------
> kernel/sched/sched.h | 12 ++++++--
> kernel/smp.c | 9 ++++++
> kernel/time/tick-sched.c | 10 ++++---
> 7 files changed, 97 insertions(+), 46 deletions(-)

Pulled, 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/