Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759902Ab3DCMql (ORCPT ); Wed, 3 Apr 2013 08:46:41 -0400 Received: from mail-we0-f182.google.com ([74.125.82.182]:46150 "EHLO mail-we0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758541Ab3DCMqi (ORCPT ); Wed, 3 Apr 2013 08:46:38 -0400 From: Frederic Weisbecker To: Ingo Molnar Cc: LKML , Frederic Weisbecker , Andrew Morton , Chris Metcalf , Christoph Lameter , Geoff Levand , Gilad Ben Yossef , Hakan Akkan , Kevin Hilman , Li Zhong , Namhyung Kim , "Paul E. McKenney" , Paul Gortmaker , Peter Zijlstra , Steven Rostedt , Thomas Gleixner Subject: [PATCH 1/4] nohz: Unhide full dynticks feature from its dependencies Date: Wed, 3 Apr 2013 14:46:27 +0200 Message-Id: <1364993190-13784-2-git-send-email-fweisbec@gmail.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1364993190-13784-1-git-send-email-fweisbec@gmail.com> References: <1364993190-13784-1-git-send-email-fweisbec@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3006 Lines: 78 The full dynticks feature only shows up when all its Kconfig dependencies are met (RCU nocbs, RCU user mode, ...) This is far from being user friendly as those who want to activate this feature need to look into the Kconfig files and iterate through each dependency then activate these by hand in order to show and select the full dynticks Kconfig option. So process the other way around: show up the Kconfig option if the minimal low level dependencies are met and activate the high level ones when we enable the feature. Note there is one exception in the picture: CONFIG_VIRT_CPU_ACCOUNTING_GEN is part of a Kconfig choice menu and it appears we can't select it from another Kconfig selection when it's under such layout. So for now this particular item stays as a passive dependency. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Andrew Morton Cc: Chris Metcalf Cc: Christoph Lameter Cc: Geoff Levand Cc: Gilad Ben Yossef Cc: Hakan Akkan Cc: Ingo Molnar Cc: Kevin Hilman Cc: Li Zhong Cc: Namhyung Kim Cc: Paul E. McKenney Cc: Paul Gortmaker Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Thomas Gleixner --- kernel/time/Kconfig | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig index 5a87c03..726c33e 100644 --- a/kernel/time/Kconfig +++ b/kernel/time/Kconfig @@ -80,11 +80,20 @@ config NO_HZ busy and when the system is idle. config NO_HZ_EXTENDED - bool "Full dynticks system" - depends on NO_HZ && RCU_USER_QS && VIRT_CPU_ACCOUNTING_GEN && RCU_NOCB_CPU && SMP - select CONTEXT_TRACKING_FORCE - help - Adaptively try to shutdown the tick whenever possible, even when + bool "Full dynticks system" + # NO_HZ dependency + depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS + # RCU_USER_QS + depends on HAVE_CONTEXT_TRACKING && SMP + # RCU_NOCB_CPU dependency + depends on TREE_RCU || TREE_PREEMPT_RCU + depends on VIRT_CPU_ACCOUNTING_GEN + select NO_HZ + select RCU_USER_QS + select RCU_NOCB_CPU + select CONTEXT_TRACKING_FORCE + help + Adaptively try to shutdown the tick whenever possible, even when the CPU is running tasks. Typically this requires running a single task on the CPU. Chances for running tickless are maximized when the task mostly runs in userspace and has few kernel activity. -- 1.7.5.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/