Re: [PATCH 13/17] net: stmmac: Implement NAPI for TX

From: Corentin Labbe
Date: Fri Feb 03 2017 - 10:58:32 EST


On Fri, Feb 03, 2017 at 10:15:30AM -0500, David Miller wrote:
> From: Corentin Labbe <clabbe.montjoie@xxxxxxxxx>
> Date: Fri, 3 Feb 2017 14:41:45 +0100
>
> > On Tue, Jan 31, 2017 at 11:12:25PM -0500, David Miller wrote:
> >> From: Corentin Labbe <clabbe.montjoie@xxxxxxxxx>
> >> Date: Tue, 31 Jan 2017 10:11:48 +0100
> >>
> >> > The stmmac driver run TX completion under NAPI but without checking
> >> > the work done by the TX completion function.
> >>
> >> The current behavior is correct and completely intentional.
> >>
> >> A driver should _never_ account TX work to the NAPI poll budget.
> >>
> >> This is because TX liberation is orders of magnitude cheaper than
> >> receiving a packet, and such SKB freeing makes more SKBs available
> >> for RX processing.
> >>
> >> Therefore, TX work should never count against the NAPI budget.
> >>
> >> Please do not fix something which is not broken.
> >
> > So at least the documentation I read must be fixed (https://wiki.linuxfoundation.org/networking/napi)
>
> We have no control over nor care about what the Linux Foundation writes
> about the Linux networking code.
>
> Complain to them and please do not bother us about it.
>
> Thank you.

Sorry, this was not to bother you.

Could you give me your opinion on the other question of the mail ? (just copied below)
So perhaps the best way is to do like intel igb/ixgbe, keeping under NAPI until the stmmac_tx_clean function said that it finished handling the queue (with a distinct TX budget)?

Thanks
Regards