Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932596AbbFTUVz (ORCPT ); Sat, 20 Jun 2015 16:21:55 -0400 Received: from mail-wi0-f172.google.com ([209.85.212.172]:32844 "EHLO mail-wi0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752848AbbFTUVq (ORCPT ); Sat, 20 Jun 2015 16:21:46 -0400 From: Tal Shorer To: rostedt@goodmis.org, mingo@redhat.com Cc: linux-kernel@vger.kernel.org, Tal Shorer Subject: [Patch RFC 0/2] tracing: allow disabling compilation of specific trace systems Date: Sat, 20 Jun 2015 23:21:17 +0300 Message-Id: <1434831679-3852-1-git-send-email-tal.shorer@gmail.com> X-Mailer: git-send-email 2.2.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1273 Lines: 33 Currently, enabling CONFIG_TRACING on a system comes as all-or-nothing: either tracepoints for all subsystems are compiled (with CONFIG_TRACING) or none of them do (without it). This caused me an unacceptable performance penalty (obviously SOME penalty was expected, but not one so severe) which made me revert the changes in configuration. The first patch in this series modifies the files that actually define the tracepoint to look for a preprocessor macro NOTRACE and define nops (as if CONFIG_TRACING was not set) instead of them. The second patch provides an example of how I see this working, with the gpio subsystem as the example for absolutely no reason. If this idea is deemed worth the time by the community, I'll create patches for the other subsystems. Tal Shorer (2): tracing: allow disabling compilation of specific trace systems tracing: gpio: add Kconfig option for enabling/disabling trace events drivers/gpio/Kconfig | 6 ++++++ include/linux/tracepoint.h | 6 +++--- include/trace/define_trace.h | 2 +- include/trace/events/gpio.h | 4 ++++ 4 files changed, 14 insertions(+), 4 deletions(-) -- 2.2.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in Please read the FAQ at http://www.tux.org/lkml/