Re: [PATCH net-next] net: stmmac: call stmmac_finalize_xdp_rx() on a condition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 10, 2023 at 12:08:29AM +0900, Leesoo Ahn wrote:
> 
> 
> On 23. 3. 9. 22:40, Simon Horman wrote:
> > On Thu, Mar 09, 2023 at 01:26:18AM +0900, Leesoo Ahn wrote:
> > > The current codebase calls the function no matter net device has XDP
> > > programs or not. So the finalize function is being called everytime when RX
> > > bottom-half in progress. It needs a few machine instructions for nothing
> > > in the case that XDP programs are not attached at all.
> > > 
> > > Lets it call the function on a condition that if xdp_status variable has
> > > not zero value. That means XDP programs are attached to the net device
> > > and it should be finalized based on the variable.
> > > 
> > > The following instructions show that it's better than calling the function
> > > unconditionally.
> > > 
> > >    0.31 │6b8:   ldr     w0, [sp, #196]
> > >         │    ┌──cbz     w0, 6cc
> > >         │    │  mov     x1, x0
> > >         │    │  mov     x0, x27
> > >         │    │→ bl     stmmac_finalize_xdp_rx
> > >         │6cc:└─→ldr    x1, [sp, #176]
> > > 
> > > with 'if (xdp_status)' statement, jump to '6cc' label if xdp_status has
> > > zero value.
> > > 
> > > Signed-off-by: Leesoo Ahn <lsahn@xxxxxxxxxx>
> > Hi Leesoo,
> > 
> > I am curious to know if you considered going a step further and using
> > a static key.
> > 
> > Link: https://www.kernel.org/doc/html/latest/staging/static-keys.html
> 
> Thank you for the review.
> 
> The function must be called for only XDP_TX or XDP_REDIRECT cases.
> So using a static key doesn't look good and the commit message is not clear
> for 'why' as well.
> I think that's why you suggested for using 'static key' by the latter
> reason.

Yes, my suggestion was based on the performance optimisation
aspect of your patch.

> I will edit the message and post v2 soon.

Thanks



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux