> -----Original Message----- > From: Jakub Kicinski <kuba@xxxxxxxxxx> > Sent: 2023年7月21日 11:07 > To: Wei Fang <wei.fang@xxxxxxx> > Cc: netdev@xxxxxxxxxxxxxxx; edumazet@xxxxxxxxxx; pabeni@xxxxxxxxxx; > corbet@xxxxxxx; linux-doc@xxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx > Subject: Re: [PATCH net] docs: net: clarify the NAPI rules around XDP Tx > > On Fri, 21 Jul 2023 02:35:41 +0000 Wei Fang wrote: > > > -In other words, it is recommended to ignore the budget argument > > > when -performing TX buffer reclamation to ensure that the > > > reclamation is not -arbitrarily bounded; however, it is required to > > > honor the budget argument -for RX processing. > > > +In other words for Rx processing the ``budget`` argument limits how > > > +many packets driver can process in a single poll. Rx specific APIs > > > +like page pool or XDP cannot be used at all when ``budget`` is 0. > > > +skb Tx processing should happen regardless of the ``budget``, but > > > +if the argument is 0 driver cannot call any XDP (or page pool) APIs. > > > > > Can I ask a stupid question why tx processing cannot call any XDP (or > > page pool) APIs if the "budget" is 0? > > Because in that case we may be in an interrupt context, and page pool > assumes it's either in process or softirq context. See commit > afbed3f74830 ("net/mlx5e: do as little as possible in napi poll when budget is > 0") for an example stack trace. I got it, thank you!