All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/5] isolation: 1Hz residual tick offloading
@ 2017-12-19  3:23 Frederic Weisbecker
  2017-12-19  3:23 ` [PATCH 1/5] sched: Move tick code to a separate file Frederic Weisbecker
                   ` (4 more replies)
  0 siblings, 5 replies; 25+ messages in thread
From: Frederic Weisbecker @ 2017-12-19  3:23 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Peter Zijlstra, Chris Metcalf,
	Thomas Gleixner, Luiz Capitulino, Christoph Lameter,
	Paul E . McKenney, Ingo Molnar, Wanpeng Li, Mike Galbraith,
	Rik van Riel

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

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH 0/5] isolation: 1Hz residual tick offloading v2
@ 2017-12-21 17:14 Frederic Weisbecker
  2017-12-21 17:14 ` [PATCH 4/5] sched/isolation: Residual 1Hz scheduler tick offload Frederic Weisbecker
  0 siblings, 1 reply; 25+ messages in thread
From: Frederic Weisbecker @ 2017-12-21 17:14 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Peter Zijlstra, Chris Metcalf,
	Thomas Gleixner, Luiz Capitulino, Christoph Lameter,
	Paul E . McKenney, Ingo Molnar, Wanpeng Li, Mike Galbraith,
	Rik van Riel

Changes since v1:

- Remove the split to kernel/sched/tick.c
- Fix changelog reffering to Real-Time in a wrong way
- Only call the remote tick if the CPU appears to effectively run in
  full dynticks mode.

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

HEAD: bde624c847147fe500fa65e9c78850e43b933d2d

Thanks,
	Frederic
---

Frederic Weisbecker (5):
      sched: Rename init_rq_hrtick to hrtick_rq_init
      sched/isolation: Add scheduler tick offloading interface
      nohz: Allow to check if remote CPU tick is stopped
      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 +-
 include/linux/tick.h                            |  2 +
 kernel/sched/core.c                             | 95 +++++++++++++++++++++++--
 kernel/sched/isolation.c                        | 10 +++
 kernel/sched/sched.h                            |  2 +
 kernel/time/tick-sched.c                        |  7 ++
 7 files changed, 118 insertions(+), 8 deletions(-)

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH 0/5] isolation: 1Hz residual tick offloading v3
@ 2017-12-30  3:55 Frederic Weisbecker
  2017-12-30  3:55 ` [PATCH 4/5] sched/isolation: Residual 1Hz scheduler tick offload Frederic Weisbecker
  0 siblings, 1 reply; 25+ messages in thread
From: Frederic Weisbecker @ 2017-12-30  3:55 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Peter Zijlstra, Chris Metcalf,
	Thomas Gleixner, Luiz Capitulino, Christoph Lameter,
	Paul E . McKenney, Ingo Molnar, Wanpeng Li, Mike Galbraith,
	Rik van Riel

No big change in this row, just a build failure fix on patch 4/5 due
to sched_tick_start()/sched_tick_stop() not having off cases.

If no more comment arise, I'll do a pull request in a few days.

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

HEAD: 4b07980eaca4012852b5f02c2a55b1114c475804

Thanks,
	Frederic
---

Frederic Weisbecker (5):
      sched: Rename init_rq_hrtick to hrtick_rq_init
      sched/isolation: Add scheduler tick offloading interface
      nohz: Allow to check if remote CPU tick is stopped
      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 +-
 include/linux/tick.h                            |  2 +
 kernel/sched/core.c                             | 94 +++++++++++++++++++++++--
 kernel/sched/isolation.c                        | 10 +++
 kernel/sched/sched.h                            |  2 +
 kernel/time/tick-sched.c                        |  7 ++
 7 files changed, 117 insertions(+), 8 deletions(-)

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [GIT PULL] isolation: 1Hz residual tick offloading v3
@ 2018-01-04  4:25 Frederic Weisbecker
  2018-01-04  4:25 ` [PATCH 4/5] sched/isolation: Residual 1Hz scheduler tick offload Frederic Weisbecker
  0 siblings, 1 reply; 25+ messages in thread
From: Frederic Weisbecker @ 2018-01-04  4:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Peter Zijlstra, Chris Metcalf,
	Thomas Gleixner, Luiz Capitulino, Christoph Lameter,
	Paul E . McKenney, Wanpeng Li, Mike Galbraith, Rik van Riel

Ingo,

Please pull the sched/0hz branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	sched/0hz

HEAD: 9e932b2cc707209febd130978a5eb9f4a943a3f4

--
Now that scheduler_tick() has become resilient towards the absence of
ticks, current->sched_class->task_tick() is the last piece that needs
at least 1Hz tick to keep scheduler stats alive.

This patchset adds a flag to the isolcpus boot option to offload the
residual 1Hz tick. This way the nohz_full CPUs don't have anymore tick
(assuming nothing else requires it) as their residual 1Hz tick is
offloaded to the housekeepers.

For quick testing, say on CPUs 1-7:

	"isolcpus=nohz_offload,domain,1-7"

Thanks,
	Frederic
---

Frederic Weisbecker (5):
      sched: Rename init_rq_hrtick to hrtick_rq_init
      sched/isolation: Add scheduler tick offloading interface
      nohz: Allow to check if remote CPU tick is stopped
      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 +-
 include/linux/tick.h                            |  2 +
 kernel/sched/core.c                             | 94 +++++++++++++++++++++++--
 kernel/sched/isolation.c                        | 10 +++
 kernel/sched/sched.h                            |  2 +
 kernel/time/tick-sched.c                        |  7 ++
 7 files changed, 117 insertions(+), 8 deletions(-)

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2018-01-16 16:54 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-19  3:23 [RFC PATCH 0/5] isolation: 1Hz residual tick offloading Frederic Weisbecker
2017-12-19  3:23 ` [PATCH 1/5] sched: Move tick code to a separate file Frederic Weisbecker
2017-12-19  9:08   ` Peter Zijlstra
2017-12-19 16:33     ` Frederic Weisbecker
2017-12-19  3:23 ` [PATCH 2/5] sched: Rename init_rq_hrtick to hrtick_rq_init Frederic Weisbecker
2017-12-19  3:23 ` [PATCH 3/5] sched/isolation: Add scheduler tick offloading interface Frederic Weisbecker
2017-12-19  3:23 ` [PATCH 4/5] sched/isolation: Residual 1Hz scheduler tick offload Frederic Weisbecker
2017-12-19  9:19   ` Peter Zijlstra
2017-12-19 14:34     ` Luiz Capitulino
2017-12-19 16:01     ` Christopher Lameter
2017-12-19 16:04       ` Peter Zijlstra
2017-12-19 16:38         ` Christopher Lameter
2017-12-19 16:49           ` Peter Zijlstra
2017-12-19 17:26             ` Christopher Lameter
2017-12-19 16:26     ` Frederic Weisbecker
2017-12-19 16:03   ` Christopher Lameter
2017-12-19 16:32     ` Frederic Weisbecker
2017-12-19 17:23       ` Christopher Lameter
2017-12-19  3:23 ` [PATCH 5/5] sched/isolation: Document "nohz_offload" flag Frederic Weisbecker
2017-12-21 17:14 [PATCH 0/5] isolation: 1Hz residual tick offloading v2 Frederic Weisbecker
2017-12-21 17:14 ` [PATCH 4/5] sched/isolation: Residual 1Hz scheduler tick offload Frederic Weisbecker
2017-12-30  3:55 [PATCH 0/5] isolation: 1Hz residual tick offloading v3 Frederic Weisbecker
2017-12-30  3:55 ` [PATCH 4/5] sched/isolation: Residual 1Hz scheduler tick offload Frederic Weisbecker
2018-01-04  4:25 [GIT PULL] isolation: 1Hz residual tick offloading v3 Frederic Weisbecker
2018-01-04  4:25 ` [PATCH 4/5] sched/isolation: Residual 1Hz scheduler tick offload Frederic Weisbecker
2018-01-12 19:22   ` Luiz Capitulino
2018-01-16 15:57     ` Frederic Weisbecker
2018-01-16 16:53       ` Luiz Capitulino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.