[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aFVvcgJpw5Cnog2O@mini-arch>
Date: Fri, 20 Jun 2025 07:25:54 -0700
From: Stanislav Fomichev <stfomichev@...il.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Jason Xing <kerneljasonxing@...il.com>, davem@...emloft.net,
edumazet@...gle.com, pabeni@...hat.com, bjorn@...nel.org,
magnus.karlsson@...el.com, maciej.fijalkowski@...el.com,
jonathan.lemon@...il.com, sdf@...ichev.me, ast@...nel.org,
daniel@...earbox.net, hawk@...nel.org, john.fastabend@...il.com,
joe@...a.to, willemdebruijn.kernel@...il.com, bpf@...r.kernel.org,
netdev@...r.kernel.org, Jason Xing <kernelxing@...cent.com>
Subject: Re: [PATCH net-next v3] net: xsk: introduce XDP_MAX_TX_BUDGET
set/getsockopt
On 06/19, Jakub Kicinski wrote:
> On Thu, 19 Jun 2025 17:04:40 +0800 Jason Xing wrote:
> > @@ -424,7 +421,9 @@ bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc)
> > rcu_read_lock();
> > again:
> > list_for_each_entry_rcu(xs, &pool->xsk_tx_list, tx_list) {
> > - if (xs->tx_budget_spent >= MAX_PER_SOCKET_BUDGET) {
> > + int max_budget = READ_ONCE(xs->max_tx_budget);
> > +
> > + if (xs->tx_budget_spent >= max_budget) {
> > budget_exhausted = true;
> > continue;
> > }
> > @@ -779,7 +778,7 @@ static struct sk_buff *xsk_build_skb(struct xdp_sock *xs,
> > static int __xsk_generic_xmit(struct sock *sk)
> > {
> > struct xdp_sock *xs = xdp_sk(sk);
> > - u32 max_batch = TX_BATCH_SIZE;
> > + u32 max_budget = READ_ONCE(xs->max_tx_budget);
>
> Hm, maybe a question to Stan / Willem & other XSK experts but are these
> two max values / code paths really related? Question 2 -- is generic
> XSK a legit optimization target, legit enough to add uAPI?
1) xsk_tx_peek_desc is for zc case and xsk_build_skb is copy mode;
whether we want to affect zc case given the fact that Jason seemingly
cares about copy mode is a good question.
2) I do find it surprising as well. Recent busy polling patches were
also using/targeting copy mode. But from my pow, if people use it, I see
no reason to make it more usable.
Powered by blists - more mailing lists