Michael S. Tsirkin
2023-Oct-19 06:38 UTC
[PATCH net-next v1 13/19] virtio_net: xsk: tx: virtnet_free_old_xmit() distinguishes xsk buffer
On Tue, Oct 17, 2023 at 10:02:05AM +0800, Xuan Zhuo wrote:> On Mon, 16 Oct 2023 16:44:34 -0700, Jakub Kicinski <kuba at kernel.org> wrote: > > On Mon, 16 Oct 2023 20:00:27 +0800 Xuan Zhuo wrote: > > > @@ -305,9 +311,15 @@ static inline void virtnet_free_old_xmit(struct virtnet_sq *sq, bool in_napi, > > > > > > stats->bytes += xdp_get_frame_len(frame); > > > xdp_return_frame(frame); > > > + } else { > > > + stats->bytes += virtnet_ptr_to_xsk(ptr); > > > + ++xsknum; > > > } > > > stats->packets++; > > > } > > > + > > > + if (xsknum) > > > + xsk_tx_completed(sq->xsk.pool, xsknum); > > > } > > > > sparse complains: > > > > drivers/net/virtio/virtio_net.h:322:41: warning: incorrect type in argument 1 (different address spaces) > > drivers/net/virtio/virtio_net.h:322:41: expected struct xsk_buff_pool *pool > > drivers/net/virtio/virtio_net.h:322:41: got struct xsk_buff_pool > > [noderef] __rcu *pool > > > > please build test with W=1 C=1 > > OK. I will add C=1 to may script. > > Thanks.And I hope we all understand, rcu has to be used properly it's not just about casting the warning away. -- MST
Xuan Zhuo
2023-Oct-19 07:13 UTC
[PATCH net-next v1 13/19] virtio_net: xsk: tx: virtnet_free_old_xmit() distinguishes xsk buffer
On Thu, 19 Oct 2023 02:38:16 -0400, "Michael S. Tsirkin" <mst at redhat.com> wrote:> On Tue, Oct 17, 2023 at 10:02:05AM +0800, Xuan Zhuo wrote: > > On Mon, 16 Oct 2023 16:44:34 -0700, Jakub Kicinski <kuba at kernel.org> wrote: > > > On Mon, 16 Oct 2023 20:00:27 +0800 Xuan Zhuo wrote: > > > > @@ -305,9 +311,15 @@ static inline void virtnet_free_old_xmit(struct virtnet_sq *sq, bool in_napi, > > > > > > > > stats->bytes += xdp_get_frame_len(frame); > > > > xdp_return_frame(frame); > > > > + } else { > > > > + stats->bytes += virtnet_ptr_to_xsk(ptr); > > > > + ++xsknum; > > > > } > > > > stats->packets++; > > > > } > > > > + > > > > + if (xsknum) > > > > + xsk_tx_completed(sq->xsk.pool, xsknum); > > > > } > > > > > > sparse complains: > > > > > > drivers/net/virtio/virtio_net.h:322:41: warning: incorrect type in argument 1 (different address spaces) > > > drivers/net/virtio/virtio_net.h:322:41: expected struct xsk_buff_pool *pool > > > drivers/net/virtio/virtio_net.h:322:41: got struct xsk_buff_pool > > > [noderef] __rcu *pool > > > > > > please build test with W=1 C=1 > > > > OK. I will add C=1 to may script. > > > > Thanks. > > And I hope we all understand, rcu has to be used properly it's not just > about casting the warning away.Yes. I see. I will use rcu_dereference() and rcu_read_xxx(). Thanks.> > -- > MST >