| From: |
| Frederic Weisbecker <fweisbec-AT-gmail.com> |
| To: |
| Ingo Molnar <mingo-AT-kernel.org> |
| Subject: |
| [GIT PULL] Introduce housekeeping subsystem v4 |
| Date: |
| Mon, 18 Sep 2017 15:53:57 +0200 |
| Message-ID: |
| <1505742849-30473-1-git-send-email-fweisbec@gmail.com> |
| Cc: |
| LKML <linux-kernel-AT-vger.kernel.org>, Frederic Weisbecker <fweisbec-AT-gmail.com>, Peter Zijlstra <peterz-AT-infradead.org>, Chris Metcalf <cmetcalf-AT-mellanox.com>, Thomas Gleixner <tglx-AT-linutronix.de>, Luiz Capitulino <lcapitulino-AT-redhat.com>, Christoph Lameter <cl-AT-linux.com>, "Paul E . McKenney" <paulmck-AT-linux.vnet.ibm.com>, Mike Galbraith <efault-AT-gmx.de>, Rik van Riel <riel-AT-redhat.com>, Wanpeng Li <kernellwp-AT-gmail.com> |
Ingo,
Please pull the core/isolation-v4 branch that can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
core/isolation-v4
HEAD: cf4c55aad44251369c8507c3823f9f9c51d4dc77
Summary of changes:
* Move the housekeeping code that was tied to NO_HZ to its own subsystem.
Currently NO_HZ governs the other isolation features which is not right
as dynticks is just an isolation feature like the others. We want to
centralize the CPU isolation decisions to a subsystem of its own instead.
* Integrate isolcpus code to housekeeping and treat it as a CPU isolation
feature.
* Reuse the "isolcpus=" kernel parameter to control the CPU isolation.
For now only tick and domains can be isolated after this patchset:
isolcpus=1-7 # isolate domains on CPU range 1 to 7
# "domain" flag is implicit by default to
# keep the current behaviour
isolcpus=domain,1-7 # do the same
isolcpus=nohz,1-7 # apply nohz_full to CPU range 1 to 7
isolcpus=nohz,domain,1-7 # apply nohz_full and isolate domains of
# CPU range 1 to 7
Thanks,
Frederic
---
Frederic Weisbecker (12):
housekeeping: Move housekeeping related code to its own file
watchdog: Use housekeeping_cpumask() instead of ad-hoc version
housekeeping: Provide a dynamic off-case to housekeeping_any_cpu()
housekeeping: Make housekeeping cpumask private
housekeeping: Use its own static key
housekeeping: Rename is_housekeeping_cpu to housekeeping_cpu
housekeeping: Move it under its own config, independant from NO_HZ
housekeeping: Introduce housekeeping flags
housekeeping: Handle nohz_full= parameter
housekeeping: Move isolcpus to housekeeping
housekeeping: Add basic isolcpus flags
housekeeping: Document isolcpus flags
Documentation/admin-guide/kernel-parameters.txt | 33 +++---
drivers/base/cpu.c | 11 +-
drivers/net/ethernet/tile/tilegx.c | 6 +-
include/linux/housekeeping.h | 51 ++++++++
include/linux/sched.h | 2 -
include/linux/tick.h | 39 +------
init/Kconfig | 7 ++
init/main.c | 2 +
kernel/Makefile | 1 +
kernel/cgroup/cpuset.c | 15 +--
kernel/housekeeping.c | 149 ++++++++++++++++++++++++
kernel/rcu/tree_plugin.h | 3 +-
kernel/rcu/update.c | 3 +-
kernel/sched/core.c | 25 +---
kernel/sched/fair.c | 3 +-
kernel/sched/topology.c | 24 +---
kernel/time/tick-sched.c | 31 +----
kernel/watchdog.c | 13 +--
18 files changed, 276 insertions(+), 142 deletions(-)