Björn Töpel <bjorn.topel@xxxxxxxxx> writes: > On Fri, 10 Jan 2020 at 15:22, Toke Høiland-Jørgensen <toke@xxxxxxxxxx> wrote: >> >> From: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> >> >> 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