Skip to content

RFC nohz: Move nohz kick out of scheduler IPI, v3

Frederic Weisbecker lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 7 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5irq_work: Architecture support for remote irq work raisearch/Kconfig arch/alpha/kernel/time.c arch/arm/Kconfig +6 more+26 -157 replies
2/5irq_work: Force non-lazy works on IPIinclude/linux/irq_work.h kernel/irq_work.c kernel/timer.c+34 -270 replies
3/5irq_work: Allow remote queueinginclude/linux/irq_work.h kernel/irq_work.c+29 -20 replies
4/5nohz: Move full nohz kick to its own IPIinclude/linux/tick.h kernel/sched/core.c kernel/sched/sched.h +2 more+18 -100 replies
5/5nohz: Use IPI implicit full barrier against rq->nr_running r/wkernel/sched/core.c kernel/sched/sched.h+13 -60 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/5] nohz: Move nohz kick out of scheduler IPI, v3

Hi,

So this version gives up with smp_queue_function_single() and extends irq work to support remote queuing. As suggested by Peterz.

Comments?

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/nohz-irq-work

Thanks,
Frederic
---

Frederic Weisbecker (5):
irq_work: Architecture support for remote irq work raise
irq_work: Force non-lazy works on IPI
irq_work: Allow remote queueing
nohz: Move full nohz kick to its own IPI
nohz: Use IPI implicit full barrier against rq->nr_running r/w

 arch/Kconfig               | 12 +++++++
 arch/alpha/kernel/time.c   |  3 +-
 arch/arm/Kconfig           |  1 +
 arch/arm/kernel/smp.c      |  4 +--
 arch/powerpc/kernel/time.c |  3 +-
 arch/sparc/kernel/pcr.c    |  3 +-
 arch/x86/Kconfig           |  1 +
 arch/x86/kernel/irq_work.c | 10 ++----
 include/linux/irq_work.h   |  3 ++
 include/linux/tick.h       |  9 ++++-
 kernel/irq_work.c          | 87 +++++++++++++++++++++++++++++++---------------
 kernel/sched/core.c        | 14 ++++----
 kernel/sched/sched.h       | 12 +++++--
 kernel/time/Kconfig        |  2 ++
 kernel/time/tick-sched.c   | 10 +++---
 kernel/timer.c             |  2 +-
 16 files changed, 118 insertions(+), 58 deletions(-)