All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: paulmck <paulmck@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	rostedt <rostedt@goodmis.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"Joel Fernandes, Google" <joel@joelfernandes.org>,
	Peter Zijlstra <peterz@infradead.org>,
	fweisbec <fweisbec@gmail.com>, Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH] tracepoint: rcuidle: use rcu_is_watching() and tree-rcu
Date: Tue, 10 Mar 2020 19:56:17 -0400 (EDT)	[thread overview]
Message-ID: <1425816045.24643.1583884577489.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <20200310235219.GL2935@paulmck-ThinkPad-P72>

----- On Mar 10, 2020, at 7:52 PM, paulmck paulmck@kernel.org wrote:

> On Tue, Mar 10, 2020 at 07:44:33PM -0400, Mathieu Desnoyers wrote:
>> ----- On Mar 10, 2020, at 4:53 PM, paulmck paulmck@kernel.org wrote:
>> 
>> > On Tue, Mar 10, 2020 at 04:20:54PM -0400, Mathieu Desnoyers wrote:
>> >> commit e6753f23d961 ("tracepoint: Make rcuidle tracepoint callers use
>> >> SRCU") aimed at improving performance of rcuidle tracepoints by using
>> >> SRCU rather than temporarily enabling tree-rcu every time.
>> >> 
>> >> commit 865e63b04e9b ("tracing: Add back in rcu_irq_enter/exit_irqson()
>> >> for rcuidle tracepoints") adds back the high-overhead enabling of
>> >> tree-rcu because perf expects RCU to be watching when called from
>> >> rcuidle tracepoints.
>> >> 
>> >> It turns out that by using "rcu_is_watching()" and conditionally
>> >> calling the high-overhead rcu_irq_enter/exit_irqson(), the original
>> >> motivation for using SRCU in the first place disappears.
>> > 
>> > Adding Alexei on CC for his thoughts, given that these were his
>> > benchmarks.  I believe that he also has additional use cases.
>> 
>> Good point! Sorry I forgot to add Alexei to my CC list for that
>> patch.
>> 
>> > But given the use cases you describe, this seems plausible.  This does
>> > mean that tracepoints cannot be attached to the CPU-hotplug code that
>> > runs on the incoming/outgoing CPU early/late in that process, though
>> > that might be OK.
>> 
>> Do you mean standard tracepoints or rcuidle tracepoints ?
>> 
>> Are there any such tracepoints early/late in the cpu hotplug code today ?
> 
> I have no idea.  You would know better than I.  However, I would expect
> that the same common-code issue that applies to exception-entry/exit
> code might also apply to the CPU hotplug code.

I would also expect early/late CPU hotplug states to fall into the same
category of "low-level entry/exit" code which Thomas would like to hide
from instrumentation.

Thanks,

Mathieu

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

  reply	other threads:[~2020-03-10 23:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-10 20:20 [PATCH] tracepoint: rcuidle: use rcu_is_watching() and tree-rcu Mathieu Desnoyers
2020-03-10 20:53 ` Paul E. McKenney
2020-03-10 23:44   ` Mathieu Desnoyers
2020-03-10 23:52     ` Paul E. McKenney
2020-03-10 23:56       ` Mathieu Desnoyers [this message]
2020-03-11  0:08         ` Paul E. McKenney

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=1425816045.24643.1583884577489.JavaMail.zimbra@efficios.com \
    --to=mathieu.desnoyers@efficios.com \
    --cc=fweisbec@gmail.com \
    --cc=joel@joelfernandes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.