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

From: Frederic Weisbecker
Date: Mon Jun 16 2014 - 12:24:22 EST


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(-)
--
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/