From patchwork Tue Aug 9 06:32:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunyan Zhang X-Patchwork-Id: 73515 Delivered-To: patch@linaro.org Received: by 10.140.29.52 with SMTP id a49csp328220qga; Mon, 8 Aug 2016 23:33:36 -0700 (PDT) X-Received: by 10.98.63.154 with SMTP id z26mr169718286pfj.41.1470724415447; Mon, 08 Aug 2016 23:33:35 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id to7si41095136pac.282.2016.08.08.23.33.35; Mon, 08 Aug 2016 23:33:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752492AbcHIGdc (ORCPT + 27 others); Tue, 9 Aug 2016 02:33:32 -0400 Received: from mail-pa0-f47.google.com ([209.85.220.47]:33071 "EHLO mail-pa0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752335AbcHIGd3 (ORCPT ); Tue, 9 Aug 2016 02:33:29 -0400 Received: by mail-pa0-f47.google.com with SMTP id ti13so2446565pac.0 for ; Mon, 08 Aug 2016 23:33:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=KsLyuzhr+i8LzLn4i6aCe8civOHH/3xY7csyQYD/gh8=; b=P+KkMiImPcsylqJihwsgJPnvzXCvdGvls3T/s+CzGUviwq8KaPzaMbxD2V3taOzNNM qYB/2dCqV8qpTGw8q2q/x3NGd6e+Gx3GKyF54vT64XQOz4AzafTWgWai0yPcn8KCpsz7 8a1oNhxcNJErqM8b8ZQS5v84OmtdXIQniYg9Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=KsLyuzhr+i8LzLn4i6aCe8civOHH/3xY7csyQYD/gh8=; b=lcQ3mp4kVo2JTViQlRc+WazxCDgz+XsS4EkkCWnG8w0skONPeZkfEsnCCGiNSbDWVO rFdyn64oBPy21UnfaR4GHo/2L7RszGoWLDUGm0wdFi1RQKTa7p0oHZoQBGlRypo1eYcq zJeXjnzkPeRG8/CkQ5hVrE1IOr6Ue0co6Z4JdEhlTNU5fv0e/7QMPEuvxwh/oc4xe0BL F5PtAFp5u60DBaWtK9RwXQsNxtSevBvH3ctYcq39y5R9pWR6526jLUrgF86tYKLFxjRU D3Cp0icItG2Fx5fbpE3sKgMBEYUZBgXc1tElcz605sx0rNemxLlJ9BLbyRQL1/rIQ5BJ BnuQ== X-Gm-Message-State: AEkooutKrAukwsa8ZT44VrTI+0GqlZBwSkY6esgCfdK0wMxRqC4duRwTLwxF/hGw1NWShm7l X-Received: by 10.66.146.69 with SMTP id ta5mr171377906pab.157.1470724409037; Mon, 08 Aug 2016 23:33:29 -0700 (PDT) Received: from ubuntu16.spreadtrum.com ([175.111.195.49]) by smtp.gmail.com with ESMTPSA id y200sm52691517pfb.13.2016.08.08.23.33.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 08 Aug 2016 23:33:28 -0700 (PDT) From: Chunyan Zhang To: rostedt@goodmis.org, mathieu.poirier@linaro.org, alexander.shishkin@linux.intel.com, mingo@redhat.com Cc: arnd@arndb.de, mike.leach@arm.com, tor@ti.com, maxime.coquelin@st.com, philippe.langlais@st.com, nicolas.guion@st.com, felipe.balbi@linux.intel.com, zhang.lyra@gmail.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH V3 3/3] stm: Mark the functions of writing buffer with notrace Date: Tue, 9 Aug 2016 14:32:41 +0800 Message-Id: <1470724361-10663-4-git-send-email-zhang.chunyan@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1470724361-10663-1-git-send-email-zhang.chunyan@linaro.org> References: <1470724361-10663-1-git-send-email-zhang.chunyan@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If CONFIG_STM_FTRACE is selected, Function trace data can be writen to sink via STM, all functions that related to writing data packets to STM should be marked 'notrace' to avoid being traced by Ftrace, otherwise the program would stall into an endless loop. Signed-off-by: Chunyan Zhang Acked-by: Steven Rostedt --- drivers/hwtracing/coresight/coresight-stm.c | 2 +- drivers/hwtracing/intel_th/sth.c | 11 +++++++---- drivers/hwtracing/stm/core.c | 7 ++++--- drivers/hwtracing/stm/dummy_stm.c | 2 +- include/linux/stm.h | 4 ++-- 5 files changed, 15 insertions(+), 11 deletions(-) -- 2.7.4 diff --git a/drivers/hwtracing/coresight/coresight-stm.c b/drivers/hwtracing/coresight/coresight-stm.c index 73be58a..345c81e 100644 --- a/drivers/hwtracing/coresight/coresight-stm.c +++ b/drivers/hwtracing/coresight/coresight-stm.c @@ -386,7 +386,7 @@ static long stm_generic_set_options(struct stm_data *stm_data, return 0; } -static ssize_t stm_generic_packet(struct stm_data *stm_data, +static ssize_t notrace stm_generic_packet(struct stm_data *stm_data, unsigned int master, unsigned int channel, unsigned int packet, diff --git a/drivers/hwtracing/intel_th/sth.c b/drivers/hwtracing/intel_th/sth.c index e1aee61..b034446 100644 --- a/drivers/hwtracing/intel_th/sth.c +++ b/drivers/hwtracing/intel_th/sth.c @@ -67,10 +67,13 @@ static void sth_iowrite(void __iomem *dest, const unsigned char *payload, } } -static ssize_t sth_stm_packet(struct stm_data *stm_data, unsigned int master, - unsigned int channel, unsigned int packet, - unsigned int flags, unsigned int size, - const unsigned char *payload) +static ssize_t notrace sth_stm_packet(struct stm_data *stm_data, + unsigned int master, + unsigned int channel, + unsigned int packet, + unsigned int flags, + unsigned int size, + const unsigned char *payload) { struct sth_device *sth = container_of(stm_data, struct sth_device, stm); struct intel_th_channel __iomem *out = diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c index 51f81d6..37d3bcb 100644 --- a/drivers/hwtracing/stm/core.c +++ b/drivers/hwtracing/stm/core.c @@ -425,7 +425,7 @@ static int stm_file_assign(struct stm_file *stmf, char *id, unsigned int width) return ret; } -static ssize_t stm_write(struct stm_data *data, unsigned int master, +static ssize_t notrace stm_write(struct stm_data *data, unsigned int master, unsigned int channel, const char *buf, size_t count) { unsigned int flags = STP_PACKET_TIMESTAMPED; @@ -1121,8 +1121,9 @@ void stm_source_unregister_device(struct stm_source_data *data) } EXPORT_SYMBOL_GPL(stm_source_unregister_device); -int stm_source_write(struct stm_source_data *data, unsigned int chan, - const char *buf, size_t count) +int notrace stm_source_write(struct stm_source_data *data, + unsigned int chan, + const char *buf, size_t count) { struct stm_source_device *src = data->src; struct stm_device *stm; diff --git a/drivers/hwtracing/stm/dummy_stm.c b/drivers/hwtracing/stm/dummy_stm.c index a86612d..c5f94ca 100644 --- a/drivers/hwtracing/stm/dummy_stm.c +++ b/drivers/hwtracing/stm/dummy_stm.c @@ -21,7 +21,7 @@ #include #include -static ssize_t +static ssize_t notrace dummy_stm_packet(struct stm_data *stm_data, unsigned int master, unsigned int channel, unsigned int packet, unsigned int flags, unsigned int size, const unsigned char *payload) diff --git a/include/linux/stm.h b/include/linux/stm.h index 8369d8a..210ff22 100644 --- a/include/linux/stm.h +++ b/include/linux/stm.h @@ -133,7 +133,7 @@ int stm_source_register_device(struct device *parent, struct stm_source_data *data); void stm_source_unregister_device(struct stm_source_data *data); -int stm_source_write(struct stm_source_data *data, unsigned int chan, - const char *buf, size_t count); +int notrace stm_source_write(struct stm_source_data *data, unsigned int chan, + const char *buf, size_t count); #endif /* _STM_H_ */