From: Steven Rostedt <rostedt@goodmis.org>
To: ira.weiny@intel.com
Cc: Dan Williams <dan.j.williams@intel.com>,
Alison Schofield <alison.schofield@intel.com>,
Vishal Verma <vishal.l.verma@intel.com>,
Ben Widawsky <bwidawsk@kernel.org>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Davidlohr Bueso <dave@stgolabs.net>,
linux-kernel@vger.kernel.org, linux-cxl@vger.kernel.org
Subject: Re: [RFC PATCH 1/9] cxl/mem: Implement Get Event Records command
Date: Tue, 16 Aug 2022 12:41:28 -0400 [thread overview]
Message-ID: <20220816124128.618948e9@gandalf.local.home> (raw)
In-Reply-To: <20220816123958.2b49674a@gandalf.local.home>
On Tue, 16 Aug 2022 12:39:58 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:
> > + record_count = le16_to_cpu(payload.record_count);
> > + if (record_count > 0)
> > + trace_cxl_event(dev_name(cxlds->dev), type,
> > + &payload.record);
> > +
> > + if (payload.flags & CXL_GET_EVENT_FLAG_OVERFLOW)
> > + trace_cxl_event_overflow(dev_name(cxlds->dev), type,
> > + &payload);
>
> If you want to avoid the compare operations when the tracepoints are not
> enabled, you can add:
>
> if (trace_cxl_event_enabled()) {
> if (record_count > 0)
> trace_cxl_event(dev_name(cxlds->dev), type,
> &payload.record);
> }
>
> if (trace_cxl_event_overflow_enabled()) {
> if (payload.flags & CXL_GET_EVENT_FLAG_OVERFLOW)
> trace_cxl_event_overflow(dev_name(cxlds->dev), type,
> &payload);
> }
>
> Those "<tracepoint>_enabled()" functions are static branches. Which means
> when not enabled it's a nop that skips this code, and when either is
> enabled, it turns into a jump to the contents of the if block.
Ignore this suggestion. I see in the second patch you add more logic to the
if condition. Only use this suggestion if the logic is only for when the
tracepoint is enabled.
-- Steve
next prev parent reply other threads:[~2022-08-16 16:41 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-13 5:32 [RFC PATCH 0/9] CXL: Read and clear event logs ira.weiny
2022-08-13 5:32 ` [RFC PATCH 1/9] cxl/mem: Implement Get Event Records command ira.weiny
2022-08-16 16:39 ` Steven Rostedt
2022-08-16 16:41 ` Steven Rostedt [this message]
2022-08-16 23:11 ` Ira Weiny
2022-08-16 23:35 ` Ira Weiny
2022-08-17 22:54 ` Dave Jiang
2022-09-07 4:53 ` Ira Weiny
2022-08-24 15:50 ` Jonathan Cameron
2022-09-07 4:28 ` Ira Weiny
2022-09-08 12:52 ` Jonathan Cameron
2022-09-09 20:53 ` Ira Weiny
2022-09-20 15:49 ` Jonathan Cameron
2022-09-20 20:23 ` Dave Jiang
2022-09-20 22:10 ` Ira Weiny
2022-09-21 16:36 ` Jonathan Cameron
2022-09-22 4:16 ` Ira Weiny
2022-08-13 5:32 ` [RFC PATCH 2/9] cxl/mem: Implement Clear " ira.weiny
2022-08-24 15:55 ` Jonathan Cameron
2022-09-09 21:35 ` Ira Weiny
2022-08-13 5:32 ` [RFC PATCH 3/9] cxl/mem: Clear events on driver load ira.weiny
2022-08-24 15:57 ` Jonathan Cameron
2022-08-13 5:32 ` [RFC PATCH 4/9] cxl/mem: Trace General Media Event Record ira.weiny
2022-08-24 16:11 ` Jonathan Cameron
2022-09-12 22:38 ` Ira Weiny
2022-09-20 15:52 ` Jonathan Cameron
2022-08-13 5:32 ` [RFC PATCH 5/9] cxl/mem: Trace DRAM " ira.weiny
2022-08-25 10:46 ` Jonathan Cameron
2022-09-12 23:04 ` Ira Weiny
2022-09-20 16:02 ` Jonathan Cameron
2022-08-13 5:32 ` [RFC PATCH 6/9] cxl/mem: Trace Memory Module " ira.weiny
2022-08-25 10:58 ` Jonathan Cameron
2022-09-14 21:17 ` Ira Weiny
2022-09-20 16:11 ` Jonathan Cameron
2022-08-13 5:32 ` [RFC PATCH 7/9] cxl/test: Add generic mock events ira.weiny
2022-08-25 11:31 ` Jonathan Cameron
2022-09-15 18:53 ` Ira Weiny
2022-09-20 16:17 ` Jonathan Cameron
2022-09-26 21:39 ` Ira Weiny
2022-09-27 13:56 ` Jonathan Cameron
2022-09-27 16:13 ` Ira Weiny
2022-09-28 9:49 ` Jonathan Cameron
2022-08-13 5:32 ` [RFC PATCH 8/9] cxl/test: Add specific events ira.weiny
2022-08-25 11:37 ` Jonathan Cameron
2022-08-13 5:32 ` [RFC PATCH 9/9] cxl/test: Simulate event log overflow ira.weiny
2022-08-16 16:44 ` Steven Rostedt
2022-08-22 16:18 ` [RFC PATCH 0/9] CXL: Read and clear event logs Davidlohr Bueso
2022-08-22 22:53 ` Ira Weiny
2022-08-23 16:12 ` Davidlohr Bueso
2022-08-24 10:07 ` Jonathan Cameron
2022-09-01 18:10 ` Dave Jiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220816124128.618948e9@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=alison.schofield@intel.com \
--cc=bwidawsk@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=dave@stgolabs.net \
--cc=ira.weiny@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).