Messages in this thread | | | From | Frederic Weisbecker <> | Subject | [PATCH 00/12] Introduce housekeeping subsystem v3 | Date | Fri, 1 Sep 2017 18:41:35 +0200 |
| |
So this time I didn't change the implementation of isolcpus which relies on NULL domains, I only pulled it to the housekeeping subsystem.
Summary of changes from v2:
* "isolcpus=" takes flags, which allows us to control nohz through it. For example: isolcpus=nohz,1-7 -- enable nohz_full to CPUs 1 to 7 isolcpus=nohz,domain,1-7 -- enable nohz_full and isolate CPUs 1 to 7
If no flags are passed, the default flag is "domain", so the kernel parameter is backward compatible.
More flags should be added in the future to isolate a CPU from more details. We just need to debate how finegrained we want that.
We also want to make sure that what is passed to isolcpus is later modifiable through cpusets.
* Remove workqueue and kthread isolation, we'll think about those later once we have an interface for them in the isolcpus flags.
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git core/isolation-v3
HEAD: f1292ff748c3f5cdff0c29a3a43b2231ac5005cf
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 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 | 38 +----- init/Kconfig | 7 ++ init/main.c | 2 + kernel/Makefile | 1 + kernel/cgroup/cpuset.c | 14 +-- kernel/housekeeping.c | 148 ++++++++++++++++++++++++ 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 | 21 +--- kernel/time/tick-sched.c | 31 +---- kernel/watchdog.c | 13 +-- 18 files changed, 272 insertions(+), 140 deletions(-)
| |