Message ID | fb91a4ec2224c36adda854314940304d708d59ef.1718869408.git.mst@redhat.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: virtio: unify code to init stats | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Clearly marked for net-next |
netdev/apply | fail | Patch does not apply to net-next-0 |
On Thu, 20 Jun 2024 03:44:53 -0400, "Michael S. Tsirkin" <mst@redhat.com> wrote: > Moving initialization of stats structure into > __free_old_xmit reduces the code size slightly. > It also makes it clearer that this function shouldn't > be called multiple times on the same stats struct. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > --- > > Especially important now that Jiri's patch for BQL has been merged. > Lightly tested. > > drivers/net/virtio_net.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 283b34d50296..c2ce8de340f7 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -383,6 +383,8 @@ static void __free_old_xmit(struct send_queue *sq, bool in_napi, > unsigned int len; > void *ptr; > > + stats->bytes = stats->packets = 0; > + > while ((ptr = virtqueue_get_buf(sq->vq, &len)) != NULL) { > ++stats->packets; > > @@ -828,7 +830,7 @@ static void virtnet_rq_unmap_free_buf(struct virtqueue *vq, void *buf) > > static void free_old_xmit(struct send_queue *sq, bool in_napi) > { > - struct virtnet_sq_free_stats stats = {0}; > + struct virtnet_sq_free_stats stats; > > __free_old_xmit(sq, in_napi, &stats); > > @@ -979,7 +981,7 @@ static int virtnet_xdp_xmit(struct net_device *dev, > int n, struct xdp_frame **frames, u32 flags) > { > struct virtnet_info *vi = netdev_priv(dev); > - struct virtnet_sq_free_stats stats = {0}; > + struct virtnet_sq_free_stats stats; > struct receive_queue *rq = vi->rq; > struct bpf_prog *xdp_prog; > struct send_queue *sq; > -- > MST >
在 2024/6/20 下午3:44, Michael S. Tsirkin 写道: > Moving initialization of stats structure into > __free_old_xmit reduces the code size slightly. > It also makes it clearer that this function shouldn't > be called multiple times on the same stats struct. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > --- > > Especially important now that Jiri's patch for BQL has been merged. > Lightly tested. > > drivers/net/virtio_net.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 283b34d50296..c2ce8de340f7 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -383,6 +383,8 @@ static void __free_old_xmit(struct send_queue *sq, bool in_napi, > unsigned int len; > void *ptr; > > + stats->bytes = stats->packets = 0; > + > while ((ptr = virtqueue_get_buf(sq->vq, &len)) != NULL) { > ++stats->packets; > > @@ -828,7 +830,7 @@ static void virtnet_rq_unmap_free_buf(struct virtqueue *vq, void *buf) > > static void free_old_xmit(struct send_queue *sq, bool in_napi) > { > - struct virtnet_sq_free_stats stats = {0}; > + struct virtnet_sq_free_stats stats; > > __free_old_xmit(sq, in_napi, &stats); > > @@ -979,7 +981,7 @@ static int virtnet_xdp_xmit(struct net_device *dev, > int n, struct xdp_frame **frames, u32 flags) > { > struct virtnet_info *vi = netdev_priv(dev); > - struct virtnet_sq_free_stats stats = {0}; > + struct virtnet_sq_free_stats stats; > struct receive_queue *rq = vi->rq; > struct bpf_prog *xdp_prog; > struct send_queue *sq; Reviewed-by: Heng Qi <hengqi@linux.alibaba.com> Thanks.
On Thu, 20 Jun 2024 03:44:53 -0400 Michael S. Tsirkin wrote: > Moving initialization of stats structure into > __free_old_xmit reduces the code size slightly. > It also makes it clearer that this function shouldn't > be called multiple times on the same stats struct. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Hm, doesn't apply?
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 283b34d50296..c2ce8de340f7 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -383,6 +383,8 @@ static void __free_old_xmit(struct send_queue *sq, bool in_napi, unsigned int len; void *ptr; + stats->bytes = stats->packets = 0; + while ((ptr = virtqueue_get_buf(sq->vq, &len)) != NULL) { ++stats->packets; @@ -828,7 +830,7 @@ static void virtnet_rq_unmap_free_buf(struct virtqueue *vq, void *buf) static void free_old_xmit(struct send_queue *sq, bool in_napi) { - struct virtnet_sq_free_stats stats = {0}; + struct virtnet_sq_free_stats stats; __free_old_xmit(sq, in_napi, &stats); @@ -979,7 +981,7 @@ static int virtnet_xdp_xmit(struct net_device *dev, int n, struct xdp_frame **frames, u32 flags) { struct virtnet_info *vi = netdev_priv(dev); - struct virtnet_sq_free_stats stats = {0}; + struct virtnet_sq_free_stats stats; struct receive_queue *rq = vi->rq; struct bpf_prog *xdp_prog; struct send_queue *sq;
Moving initialization of stats structure into __free_old_xmit reduces the code size slightly. It also makes it clearer that this function shouldn't be called multiple times on the same stats struct. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- Especially important now that Jiri's patch for BQL has been merged. Lightly tested. drivers/net/virtio_net.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)