[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1500643290-25842-1-git-send-email-fweisbec@gmail.com>
Date: Fri, 21 Jul 2017 15:21:21 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Frederic Weisbecker <fweisbec@...il.com>,
Peter Zijlstra <peterz@...radead.org>,
Chris Metcalf <cmetcalf@...lanox.com>,
Thomas Gleixner <tglx@...utronix.de>,
Luiz Capitulino <lcapitulino@...hat.com>,
Christoph Lameter <cl@...ux.com>,
"Paul E . McKenney" <paulmck@...ux.vnet.ibm.com>,
Ingo Molnar <mingo@...nel.org>, Mike Galbraith <efault@....de>,
Rik van Riel <riel@...hat.com>,
Wanpeng Li <kernellwp@...il.com>
Subject: [RFC PATCH 0/9] Introduce housekeeping subsystem
I'm leaving for two weeks so this is food for thoughts in the meantime :)
We have a design issue with nohz_full: it drives the isolation features
through the *housekeeping*() functions: kthreads, unpinned timers,
watchdog, ...
But things should work the other way around because the tick is just an
isolation feature among others.
So we need a housekeeping subsystem to drive all these isolation
features, including nohz full in a later iteration. For now this is a
basic draft. In the long run this subsystem should also drive the tick
offloading (remove residual 1Hz) and all unbound kthreads.
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
nohz/0hz
HEAD: 68e3af1de5db228bf6c2a5e721bce59a02cfc4e1
Thanks,
Frederic
---
Frederic Weisbecker (9):
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: Use own boot option, independant from nohz
housekeeping: Move it under own config, independant from NO_HZ
workqueue: Affine unbound workqueues to housekeeping cpumask
drivers/net/ethernet/tile/tilegx.c | 2 +-
include/linux/housekeeping.h | 39 +++++++++++++++++++++++
include/linux/tick.h | 37 ----------------------
init/Kconfig | 6 ++++
kernel/Makefile | 1 +
kernel/housekeeping.c | 65 ++++++++++++++++++++++++++++++++++++++
kernel/rcu/tree_plugin.h | 1 +
kernel/rcu/update.c | 1 +
kernel/sched/core.c | 7 ++--
kernel/sched/fair.c | 3 +-
kernel/time/tick-sched.c | 18 -----------
kernel/watchdog.c | 12 +++----
kernel/workqueue.c | 3 +-
13 files changed, 126 insertions(+), 69 deletions(-)
Powered by blists - more mailing lists