Subject: Re: [PATCH bpf-next 1/2] xdp: Move devmap bulk queue into struct net_device

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Fri, 10 Jan 2020 16:26:33 +0100

Björn Töpel <[email-masked]> writes:

> On Fri, 10 Jan 2020 at 15:22, Toke Høiland-Jørgensen <[email-masked]> wrote:
>>
>> From: Toke Høiland-Jørgensen <[email-masked]>
>>
>> Commit 96360004b862 ("xdp: Make devmap flush_list common for all map
>> instances"), changed devmap flushing to be a global operation instead of a
>> per-map operation. However, the queue structure used for bulking was still
>> allocated as part of the containing map.
>>
>> This patch moves the devmap bulk queue into struct net_device. The
>> motivation for this is reusing it for the non-map variant of XDP_REDIRECT,
>> which will be changed in a subsequent commit.
>>
>> We defer the actual allocation of the bulk queue structure until the
>> NETDEV_REGISTER notification devmap.c. This makes it possible to check for
>> ndo_xdp_xmit support before allocating the structure, which is not possible
>> at the time struct net_device is allocated. However, we keep the freeing in
>> free_netdev() to avoid adding another RCU callback on NETDEV_UNREGISTER.
>>
>> Because of this change, we lose the reference back to the map that
>> originated the redirect, so change the tracepoint to always return 0 as the
>> map ID and index. Otherwise no functional change is intended with this
>> patch.
>>
>
> Nice work, Toke!

Thanks!

> I'm getting some checkpatch warnings (>80 char lines), other than
> that:

Oh, right, totally forgot to run checkpatch; will fix and respin :)

-Toke