Re: [PATCH net-next v2 1/2] r8152: remove queuing rx packets in driver

From: Paolo Abeni
Date: Thu Sep 21 2023 - 14:40:11 EST


On Tue, 2023-09-19 at 12:26 +0000, Hayes Wang wrote:
> Andrew Lunn <andrew@xxxxxxx>
> > Sent: Tuesday, September 19, 2023 8:08 PM
> [...]
> > > - return work_done;
> > > + if (work_done > budget)
> > > + return budget;
> > > + else
> > > + return work_done;
> > > }
> >
> > I don't know NAPI too well. Are there implications of not telling it
> > the truth?
>
> You could check the reply from Jakub Kicinski, as following link.
> https://www.spinics.net/lists/netdev/msg933846.html
> https://www.spinics.net/lists/netdev/msg933923.html
>
> If the work_done is more than budget, I should return budget.

One of the key points in Jakub's reply is that the burst must exceed
the budget by a limited number of packets:

"Nothing will explode if we process a few more packets than budget
(assuming budget > 0)"

How many packets can contain at most a single URB?

If that number can be significant greater then the napi budget, I think
we are better off keeping the packet in the queue - otherwise the whole
system latency/stability would be affected.

Cheers,

Paolo