All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>,
	Andrii Nakryiko <andrii@kernel.org>,
	linux-trace-kernel@vger.kernel.org, bpf@vger.kernel.org,
	jolsa@kernel.org, "Paul E . McKenney" <paulmck@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH] ftrace: make extra rcu_is_watching() validation check optional
Date: Wed, 3 Apr 2024 09:55:02 -0400	[thread overview]
Message-ID: <20240403095502.664e5ef9@gandalf.local.home> (raw)
In-Reply-To: <CAEf4BzauQ2WKMjZdc9s0rBWa01BYbgwHN6aNDXQSHYia47pQ-w@mail.gmail.com>

On Tue, 2 Apr 2024 22:21:00 -0700
Andrii Nakryiko <andrii.nakryiko@gmail.com> wrote:

> > I just checked our fleet-wide production data for the last 24 hours.
> > Within the kprobe/kretprobe code path (ftrace_trampoline and
> > everything called from it), rcu_is_watching (both calls, see below)
> > cause 0.484% CPU cycles usage, which isn't nothing. So definitely we'd
> > prefer to be able to avoid that in production use cases.
> >  
> 
> I just ran synthetic microbenchmark testing multi-kretprobe
> throughput. We get (in millions of BPF kretprobe-multi program
> invocations per second):
>   - 5.568M/s as baseline;
>   - 5.679M/s with changes in this patch (+2% throughput improvement);
>   - 5.808M/s with disabling rcu_is_watching in rethook_try_get()
> (+2.3% more vs just one of rcu_is_watching, and +4.3% vs baseline).
> 
> It's definitely noticeable.

Ah, thanks for verifying (I should have read the thread before replying to
the previous email).

-- Steve

  reply	other threads:[~2024-04-03 13:52 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-22 16:03 [PATCH] ftrace: make extra rcu_is_watching() validation check optional Andrii Nakryiko
2024-03-25  2:38 ` Masami Hiramatsu
2024-03-25 16:56   ` Andrii Nakryiko
2024-03-25 22:13   ` Steven Rostedt
2024-03-26 16:16     ` Andrii Nakryiko
2024-03-26 19:01       ` Steven Rostedt
2024-03-29 16:39         ` Andrii Nakryiko
2024-04-01 11:25         ` Masami Hiramatsu
2024-04-01 16:09           ` Steven Rostedt
2024-04-02  0:38             ` Masami Hiramatsu
2024-04-02  2:29               ` Andrii Nakryiko
2024-04-02  2:47                 ` Steven Rostedt
2024-04-03  0:40                   ` Masami Hiramatsu
2024-04-03  0:54                     ` Steven Rostedt
2024-04-03  4:00                       ` Andrii Nakryiko
2024-04-03  5:21                         ` Andrii Nakryiko
2024-04-03 13:55                           ` Steven Rostedt [this message]
2024-04-06  3:41                           ` Masami Hiramatsu
2024-04-06 16:06                             ` Andrii Nakryiko
2024-04-03 13:53                         ` Steven Rostedt

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=20240403095502.664e5ef9@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=andrii.nakryiko@gmail.com \
    --cc=andrii@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=jolsa@kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    /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.