[PATCH net-next] net: stmmac: call stmmac_finalize_xdp_rx() on a condition
Leesoo Ahn
lsahn at ooseel.net
Thu Mar 9 07:08:29 PST 2023
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 at ooseel.net>
> 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.
I will edit the message and post v2 soon.
Best regards,
Leesoo
More information about the linux-arm-kernel
mailing list