Messages in this thread | | | Subject | Re: [PATCH net-next 1/2] virtio-net: correctly update XDP_TX counters | From | Jason Wang <> | Date | Wed, 1 Aug 2018 09:31:48 +0800 |
| |
On 2018年07月31日 17:57, Toshiaki Makita wrote: > On 2018/07/31 18:43, Jason Wang wrote: >> Commit 5b8f3c8d30a6 ("virtio_net: Add XDP related stats") tries to >> count TX XDP stats in virtnet_receive(). This will cause several >> issues: >> >> - virtnet_xdp_sq() was called without checking whether or not XDP is >> set. This may cause out of bound access when there's no enough txq >> for XDP. >> - Stats were updated even if there's no XDP/XDP_TX.> >> Fixing this by reusing virtnet_xdp_xmit() for XDP_TX which can counts >> TX XDP counter itself and remove the unnecessary tx stats embedded in >> rx stats. > Thanks for fixing this. > I wanted to avoid calling u64_stats_update_begin() (i.e. smp_wmb() in 32 > bit systems) for every packet. So I'd like to keep sq stats in > virtnet_rx_stats. >
We can optimize this by adding batching on top. (virtnet_xdp_xmit() accepts an array of xdp frames). If you like, please send a patch for this.
Thanks
| |