Skip to content

RFC isolation: 1Hz residual tick offloading

Frederic Weisbecker lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 13 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5sched: Move tick code to a separate filekernel/sched/Makefile kernel/sched/core.c kernel/sched/sched.h +1 more+184 -1842 replies
2/5sched: Rename init_rq_hrtick to hrtick_rq_initkernel/sched/core.c kernel/sched/sched.h kernel/sched/tick.c+4 -40 replies
3/5sched/isolation: Add scheduler tick offloading interfaceinclude/linux/sched/isolation.h kernel/sched/isolation.c+8 -10 replies
4/5sched/isolation: Residual 1Hz scheduler tick offloadkernel/sched/core.c kernel/sched/isolation.c kernel/sched/sched.h +1 more+88 -311 replies
5/5sched/isolation: Document "nohz_offload" flagDocumentation/admin-guide/kernel-parameters.txt+6 -10 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] isolation: 1Hz residual tick offloading

Finally! It has been years since I had to do that but I kept knocking against prerequisites, mostly about making scheduler_tick() resilient against the absence of ticks. Now it seems that current->sched_class->task_tick() is the last piece of it.

This patchset adds a flag to the isolcpus boot option to offload the residual 1Hz tick.

For quick testing, say on CPUs 1-7:

	"isolcpus=nohz_offload,domain,1-7"

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/0z

HEAD: a9366794579a4ff71ec3546b9983536a669fbfb9

Thanks,
Frederic
---

Frederic Weisbecker (5):
sched: Move tick code to a separate file
sched: Rename init_rq_hrtick to hrtick_rq_init sched/isolation: Add scheduler tick offloading interface sched/isolation: Residual 1Hz scheduler tick offload sched/isolation: Document "nohz_offload" flag

 Documentation/admin-guide/kernel-parameters.txt |   7 +-
 include/linux/sched/isolation.h                 |   3 +-
 kernel/sched/Makefile                           |   2 +-
 kernel/sched/core.c                             | 186 +-----------------
 kernel/sched/isolation.c                        |  10 +
 kernel/sched/sched.h                            |  13 +-
 kernel/sched/tick.c                             | 250 ++++++++++++++++++++++++
 7 files changed, 284 insertions(+), 187 deletions(-)