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

Reply via email to