Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753912AbdGUNVi (ORCPT ); Fri, 21 Jul 2017 09:21:38 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:37940 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753828AbdGUNVg (ORCPT ); Fri, 21 Jul 2017 09:21:36 -0400 From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Peter Zijlstra , Chris Metcalf , Thomas Gleixner , Luiz Capitulino , Christoph Lameter , "Paul E . McKenney" , Ingo Molnar , Mike Galbraith , Rik van Riel , Wanpeng Li Subject: [RFC PATCH 0/9] Introduce housekeeping subsystem Date: Fri, 21 Jul 2017 15:21:21 +0200 Message-Id: <1500643290-25842-1-git-send-email-fweisbec@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2073 Lines: 49 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(-)