From: Steven Rostedt <rostedt@goodmis.org>
To: Yajun Deng <yajun.deng@linux.dev>
Cc: Eric Dumazet <edumazet@google.com>,
mhiramat@kernel.org, dennis@kernel.org, tj@kernel.org,
cl@linux.com, mark.rutland@arm.com, davem@davemloft.net,
kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
Alexander Lobakin <aleksander.lobakin@intel.com>,
linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH net-next v7] net/core: Introduce netdev_core_stats_inc()
Date: Mon, 9 Oct 2023 10:28:33 -0400 [thread overview]
Message-ID: <20231009102833.1b0d35e3@gandalf.local.home> (raw)
In-Reply-To: <078f662d-a73f-766b-3a07-c82cd37026c5@linux.dev>
On Mon, 9 Oct 2023 18:58:27 +0800
Yajun Deng <yajun.deng@linux.dev> wrote:
> > C compiler decides to inline or not, depending on various factors.
> >
> > The most efficient (and small) code is generated by this_cpu_inc()
> > version, allowing the compiler to inline it.
> >
> > If you copy/paste this_cpu_inc() twenty times, then the compiler
> > would not inline the function anymore.
Yes, if you want something to be visible by ftrace, it must not be inlined
(as inlined functions are not function calls by definition). And as Eric
stated, the compiler is perfectly allowed to inline something if it
believes it will be more efficient. i.e. There may be code around the function
call that could be more efficient if it wasn't change to parameters. If you
want to make sure a function stays out of line, you must explicitly tell
the compiler you want the function not to ever be inlined (hence the
"noinline" attribute).
>
>
> Got it. Thank you.
Great.
-- Steve
next prev parent reply other threads:[~2023-10-09 14:27 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-07 5:06 [PATCH net-next v7] net/core: Introduce netdev_core_stats_inc() Yajun Deng
2023-10-07 5:29 ` Eric Dumazet
2023-10-07 6:34 ` Yajun Deng
2023-10-08 6:45 ` Eric Dumazet
2023-10-08 6:59 ` Yajun Deng
2023-10-08 7:18 ` Eric Dumazet
2023-10-08 8:44 ` Yajun Deng
2023-10-08 8:53 ` Eric Dumazet
2023-10-08 9:12 ` Yajun Deng
2023-10-09 3:07 ` Yajun Deng
2023-10-09 7:53 ` Eric Dumazet
2023-10-09 8:13 ` Yajun Deng
2023-10-09 8:20 ` Eric Dumazet
2023-10-09 8:36 ` Yajun Deng
2023-10-09 9:30 ` Eric Dumazet
2023-10-09 9:43 ` Yajun Deng
2023-10-09 10:16 ` Eric Dumazet
2023-10-09 10:58 ` Yajun Deng
2023-10-09 14:28 ` Steven Rostedt [this message]
2023-10-10 3:46 ` Yajun Deng
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=20231009102833.1b0d35e3@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=aleksander.lobakin@intel.com \
--cc=cl@linux.com \
--cc=davem@davemloft.net \
--cc=dennis@kernel.org \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mhiramat@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=tj@kernel.org \
--cc=yajun.deng@linux.dev \
/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).