netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Joe Damato <jdamato@fastly.com>
Cc: Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Samiullah Khawaja <skhawaja@google.com>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>,
	almasrymina@google.com, willemb@google.com,
	mkarsten@uwaterloo.ca, netdev@vger.kernel.org
Subject: Re: [PATCH net-next v5] Add support to set napi threaded for individual napi
Date: Mon, 28 Apr 2025 15:32:07 -0700	[thread overview]
Message-ID: <20250428153207.03c01f64@kernel.org> (raw)
In-Reply-To: <aA_zH52V-5qYku3M@LQ3V64L9R2>

On Mon, 28 Apr 2025 14:29:03 -0700 Joe Damato wrote:
> On Mon, Apr 28, 2025 at 11:38:45AM -0700, Jakub Kicinski wrote:
> > On Mon, 28 Apr 2025 11:12:34 -0700 Joe Damato wrote:  
> > > On Sat, Apr 26, 2025 at 10:41:10AM -0400, Willem de Bruijn wrote:  
> > > > This also reminds me of /proc/sys/net/ipv4/conf/{all, default, .. }
> > > > API. Which confuses me to this day.  
> > 
> > Indeed. That scheme has the additional burden of not being consistently 
> > enforced :/ So I'm trying to lay down some rules (in the doc linked
> > upthread).
> > 
> > The concern I have with the write all semantics is what happens when
> > we delegate the control over a queue / NAPI to some application or
> > container. Is the expectation that some user space component prevents
> > the global settings from being re-applied when applications using
> > dedicated queues / NAPIs are running?  
> 
> I think this is a good question and one I spent a lot of time
> thinking through while hacking on the per-NAPI config stuff.
> 
> One argument that came to my mind a few times was that to write to
> the global path requires admin and one might assume:
>   - an admin knows what they are doing and why they are doing a
>     global write
>   - there could be a case where the admin does really want to reset
>     every NAPIs setting on the system in one swoop
> 
> I suppose you could have the above (an admin override, so to speak)
> but still delegate queues/NAPIs to apps to configure as they like?
>  
> I think the admin override is kinda nice if an app starts doing
> something weird, but maybe that's too much complexity.

The way I see it - the traditional permission model doesn't extend 
in any meaningful way to network settings. All the settings are done 
by some sort of helper or intermediary which implements its own
privilege model.

My thinking is more that the "global" settings are basically "system"
settings. There is a high-perf app running which applied its own
settings to its own queues. The remaining queues belong to the "system".
Now if you for some reason want to modify the settings of the "system
queues" you really don't want to override the app specific settings.

The weakness in my argument is that you probably really shouldn't mess
with system level settings on a live system, according to devops.
But life happens, and visibility is not perfect so somethings you have
to poke to test a theory..

  reply	other threads:[~2025-04-28 22:32 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-23 20:14 [PATCH net-next v5] Add support to set napi threaded for individual napi Samiullah Khawaja
2025-04-24 23:13 ` Joe Damato
2025-04-25 18:28   ` Samiullah Khawaja
2025-04-25 22:24     ` Joe Damato
2025-04-25 22:52       ` Samiullah Khawaja
2025-04-26  0:37         ` Jakub Kicinski
2025-04-26  2:34           ` Joe Damato
2025-04-26  2:47             ` Jakub Kicinski
2025-04-26  3:12               ` Jakub Kicinski
2025-04-26  3:53                 ` Samiullah Khawaja
2025-04-28 18:23                   ` Jakub Kicinski
2025-04-28 19:25                     ` Samiullah Khawaja
2025-04-25 23:06     ` Samiullah Khawaja
2025-04-26  0:42 ` Jakub Kicinski
2025-04-26  2:31   ` Joe Damato
2025-04-26 14:41     ` Willem de Bruijn
2025-04-28 18:12       ` Joe Damato
2025-04-28 18:38         ` Jakub Kicinski
2025-04-28 21:29           ` Joe Damato
2025-04-28 22:32             ` Jakub Kicinski [this message]
2025-04-30  0:16               ` Joe Damato
2025-05-03  2:10                 ` Jakub Kicinski
2025-05-03  3:04                   ` Joe Damato
2025-05-05 18:56                     ` Jakub Kicinski

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