Messages in this thread | | | Subject | Re: [PATCH net-next v2 1/2] r8152: remove queuing rx packets in driver | From | Paolo Abeni <> | Date | Thu, 21 Sep 2023 15:39:15 +0200 |
| |
On Tue, 2023-09-19 at 12:26 +0000, Hayes Wang wrote: > Andrew Lunn <andrew@lunn.ch> > > 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
| |