From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941540AbcLWPR5 (ORCPT ); Fri, 23 Dec 2016 10:17:57 -0500 Received: from mail-wj0-f170.google.com ([209.85.210.170]:34894 "EHLO mail-wj0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751743AbcLWPR4 (ORCPT ); Fri, 23 Dec 2016 10:17:56 -0500 From: Matt Fleming To: "Paul E . McKenney" Cc: linux-kernel@vger.kernel.org, Matt Fleming , Mel Gorman Subject: [PATCH] rcu: Enable RCU tracepoints by default to aid in debugging Date: Fri, 23 Dec 2016 15:17:53 +0000 Message-Id: <20161223151753.22745-1-matt@codeblueprint.co.uk> X-Mailer: git-send-email 2.10.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org While debugging a performance issue I needed to understand why RCU sofitrqs were firing so frequently. Unfortunately, the RCU callback tracepoints are hidden behind CONFIG_RCU_TRACE which defaults to off in the upstream kernel and is likely to also be disabled in enterprise distribution configs. Enable it by default for CONFIG_TREE_RCU. However, we must keep it disabled for tiny RCU, because it would otherwise pull in a large amount of code that would make tiny RCU less than tiny. I ran some file system metadata intensive workloads (git checkout, FS-Mark) on a variety of machines with this patch and saw no detectable change in performance. Cc: Mel Gorman Signed-off-by: Matt Fleming --- lib/Kconfig.debug | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index a6c8db1d62f6..7fe1ff001792 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1431,6 +1431,7 @@ config RCU_CPU_STALL_TIMEOUT config RCU_TRACE bool "Enable tracing for RCU" depends on DEBUG_KERNEL + default y if TREE_RCU select TRACE_CLOCK help This option provides tracing in RCU which presents stats -- 2.10.0