[RFC 00/12] Introduce housekeeping subsystem v2

From: Frederic Weisbecker
Date: Tue Aug 22 2017 - 21:51:26 EST


So after the feedback from the v1, I decided to take it one step further
and propose to re-implement isolcpus= on top of housekeeping. I expect
it to be controversial because it brings a behaviour change: isolcpus=
won't disable load balancing anymore. So you change the affinity of a
task at your own risk. OTOH it might make the implementation of isolcpus
more extendable, maybe more acceptable for a cpuset interface. I
leave you judge.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
core/isolation-v2

HEAD: 79ef9a911551a4f700b057ed794c223bd3a97d7b

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
workqueue: Affine unbound workqueues to housekeeping cpumask
housekeeping: Affine unbound kthreads
housekeeping: Handle nohz_full= parameter
housekeeping: Reimplement isolcpus on housekeeping


drivers/base/cpu.c | 10 ++-
drivers/net/ethernet/tile/tilegx.c | 6 +-
include/linux/housekeeping.h | 52 +++++++++++++++
include/linux/sched.h | 2 -
include/linux/tick.h | 38 +----------
init/Kconfig | 7 +++
init/main.c | 2 +
kernel/Makefile | 1 +
kernel/cgroup/cpuset.c | 13 +---
kernel/housekeeping.c | 126 +++++++++++++++++++++++++++++++++++++
kernel/kthread.c | 5 +-
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 | 19 +-----
kernel/time/tick-sched.c | 31 +--------
kernel/watchdog.c | 13 ++--
kernel/workqueue.c | 3 +-
19 files changed, 230 insertions(+), 132 deletions(-)