public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Joe Damato <jdamato@fastly.com>,
	 Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Cc: Martin Karsten <mkarsten@uwaterloo.ca>,
	 Samiullah Khawaja <skhawaja@google.com>,
	 Jakub Kicinski <kuba@kernel.org>,
	 "David S . Miller" <davem@davemloft.net>,
	 Eric Dumazet <edumazet@google.com>,
	 Paolo Abeni <pabeni@redhat.com>,
	 almasrymina@google.com,  willemb@google.com,
	 netdev@vger.kernel.org
Subject: Re: [PATCH net-next v5 0/4] Add support to do threaded napi busy poll
Date: Mon, 28 Apr 2025 13:59:14 -0400	[thread overview]
Message-ID: <680fc1f210fdf_246a60294b2@willemb.c.googlers.com.notmuch> (raw)
In-Reply-To: <aA-9aEokobuckLtV@LQ3V64L9R2>

Joe Damato wrote:
> On Mon, Apr 28, 2025 at 12:52:11PM -0400, Willem de Bruijn wrote:
> > Martin Karsten wrote:
> > > On 2025-04-24 16:02, Samiullah Khawaja wrote:
> 
> > Ack on documentation of the pros/cons.
> 
> In my mind this includes documenting CPU usage which I know is
> considered as "non-goal" of this series. It can be a "non-goal" but
> it is still very relevant to the conversation and documentation.
> 
> > There is also a functional argument for this feature. It brings
> > parity with userspace network stacks like DPDK and Google's SNAP [1].
> > These also run packet (and L4+) network processing on dedicated cores,
> > and by default do so in polling mode. An XDP plane currently lacks
> > this well understood configuration. This brings it closer to parity.
> 
> It would be good if this could also be included in the cover letter,
> I think, possibly with example use cases.
> 
> > Users of such advanced environments can be expected to be well
> > familiar with the cost of polling. The cost/benefit can be debated
> > and benchmarked for individual applications. But there clearly are
> > active uses for polling, so I think it should be an operating system
> > facility.
> 
> You mention users of advanced environments, but I think it's
> important to consider the average user who is not necessarily a
> kernel programmer.
> 
> Will that user understand that not all apps support this? Or will
> they think that they can simply run a few YNL commands burning CPUs at
> 100% for apps that don't even support this thinking they are making
> their networking faster?

Busy polling can already be configured through sysfs.

I have not seen any conversations where this is suggested to non
expert users. I don't think this will be different.

But we can and should definitely increase the confidence by making
sure that any documentation of the feature contains a clear warning to
the impact and that this is for expert users only.

> I think providing a mechanism to burn CPU cores at 100% CPU by
> enabling threaded busy poll has serious consequences on power
> consumption, cooling requirements, and, errr, earth. I don't think
> it's a decision to be taken lightly.

Good point.

  reply	other threads:[~2025-04-28 17:59 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-24 20:02 [PATCH net-next v5 0/4] Add support to do threaded napi busy poll Samiullah Khawaja
2025-04-24 20:02 ` [PATCH net-next v5 1/4] net: Create separate gro_flush helper function Samiullah Khawaja
2025-04-24 23:21   ` Joe Damato
2025-04-24 20:02 ` [PATCH net-next v5 2/4] net: define an enum for the napi threaded state Samiullah Khawaja
2025-04-24 23:40   ` Joe Damato
2025-04-26  1:36   ` Jakub Kicinski
2025-04-26  3:54     ` Samiullah Khawaja
2025-04-24 20:02 ` [PATCH net-next v5 3/4] Extend napi threaded polling to allow kthread based busy polling Samiullah Khawaja
2025-04-24 23:42   ` Joe Damato
2025-04-24 20:02 ` [PATCH net-next v5 4/4] selftests: Add napi threaded busy poll test in `busy_poller` Samiullah Khawaja
2025-04-28 13:50 ` [PATCH net-next v5 0/4] Add support to do threaded napi busy poll Martin Karsten
2025-04-28 16:52   ` Willem de Bruijn
2025-04-28 17:39     ` Joe Damato
2025-04-28 17:59       ` Willem de Bruijn [this message]
2025-04-28 18:05         ` Martin Karsten
2025-04-30 12:37           ` David Laight
2025-04-30 16:47             ` Samiullah Khawaja
2025-04-28 18:05     ` Martin Karsten
2025-04-28 18:20       ` Willem de Bruijn
2025-04-30 15:23   ` Martin Karsten
2025-04-30 16:58     ` Samiullah Khawaja
2025-04-30 19:57       ` Martin Karsten
2025-04-30 20:33         ` Samiullah Khawaja

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=680fc1f210fdf_246a60294b2@willemb.c.googlers.com.notmuch \
    --to=willemdebruijn.kernel@gmail.com \
    --cc=almasrymina@google.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=jdamato@fastly.com \
    --cc=kuba@kernel.org \
    --cc=mkarsten@uwaterloo.ca \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=skhawaja@google.com \
    --cc=willemb@google.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