Message ID | 20240801122739.49008-3-hengqi@linux.alibaba.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | virtio-net: unbreak vq resizing if vq coalescing is not supported | expand |
On Thu, Aug 01, 2024 at 08:27:39PM +0800, Heng Qi wrote: > Don't break the resize action if the vq coalescing feature > named VIRTIO_NET_F_VQ_NOTF_COAL is not negotiated. > > Fixes: f61fe5f081cf ("virtio-net: fix the vq coalescing setting for vq resize") > Signed-off-by: Heng Qi <hengqi@linux.alibaba.com> > Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > Acked-by: Eugenio Pé rez <eperezma@redhat.com> > Acked-by: Jason Wang <jasowang@redhat.com> > --- > v2->v3: > - Break out the feature check and the fix into separate patches. > > v1->v2: > - Rephrase the subject. > - Put the feature check inside the virtnet_send_{r,t}x_ctrl_coal_vq_cmd(). > > drivers/net/virtio_net.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index b1176be8fcfd..2b566d893ea3 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -3749,7 +3749,7 @@ static int virtnet_set_ringparam(struct net_device *dev, > err = virtnet_send_tx_ctrl_coal_vq_cmd(vi, i, > vi->intr_coal_tx.max_usecs, > vi->intr_coal_tx.max_packets); > - if (err) > + if (err && err != -EOPNOTSUPP) > return err; > } > > @@ -3764,7 +3764,7 @@ static int virtnet_set_ringparam(struct net_device *dev, > vi->intr_coal_rx.max_usecs, > vi->intr_coal_rx.max_packets); > mutex_unlock(&vi->rq[i].dim_lock); > - if (err) > + if (err && err != -EOPNOTSUPP) > return err; This needs a comment. > } > } > -- > 2.32.0.3.g01195cf9f
On Thu, 1 Aug 2024 08:30:44 -0400, "Michael S. Tsirkin" <mst@redhat.com> wrote: > On Thu, Aug 01, 2024 at 08:27:39PM +0800, Heng Qi wrote: > > Don't break the resize action if the vq coalescing feature > > named VIRTIO_NET_F_VQ_NOTF_COAL is not negotiated. > > > > Fixes: f61fe5f081cf ("virtio-net: fix the vq coalescing setting for vq resize") > > Signed-off-by: Heng Qi <hengqi@linux.alibaba.com> > > Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > > Acked-by: Eugenio Pé rez <eperezma@redhat.com> > > Acked-by: Jason Wang <jasowang@redhat.com> > > --- > > v2->v3: > > - Break out the feature check and the fix into separate patches. > > > > v1->v2: > > - Rephrase the subject. > > - Put the feature check inside the virtnet_send_{r,t}x_ctrl_coal_vq_cmd(). > > > > drivers/net/virtio_net.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > > index b1176be8fcfd..2b566d893ea3 100644 > > --- a/drivers/net/virtio_net.c > > +++ b/drivers/net/virtio_net.c > > @@ -3749,7 +3749,7 @@ static int virtnet_set_ringparam(struct net_device *dev, > > err = virtnet_send_tx_ctrl_coal_vq_cmd(vi, i, > > vi->intr_coal_tx.max_usecs, > > vi->intr_coal_tx.max_packets); > > - if (err) > > + if (err && err != -EOPNOTSUPP) > > return err; > > } > > > > @@ -3764,7 +3764,7 @@ static int virtnet_set_ringparam(struct net_device *dev, > > vi->intr_coal_rx.max_usecs, > > vi->intr_coal_rx.max_packets); > > mutex_unlock(&vi->rq[i].dim_lock); > > - if (err) > > + if (err && err != -EOPNOTSUPP) > > return err; > > > This needs a comment. > Since both the patch and the comment are small, I will send out the next version soon and hope to get the understanding of the netdev maintainers. Thanks. > > > } > > } > > -- > > 2.32.0.3.g01195cf9f >
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index b1176be8fcfd..2b566d893ea3 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -3749,7 +3749,7 @@ static int virtnet_set_ringparam(struct net_device *dev, err = virtnet_send_tx_ctrl_coal_vq_cmd(vi, i, vi->intr_coal_tx.max_usecs, vi->intr_coal_tx.max_packets); - if (err) + if (err && err != -EOPNOTSUPP) return err; } @@ -3764,7 +3764,7 @@ static int virtnet_set_ringparam(struct net_device *dev, vi->intr_coal_rx.max_usecs, vi->intr_coal_rx.max_packets); mutex_unlock(&vi->rq[i].dim_lock); - if (err) + if (err && err != -EOPNOTSUPP) return err; } }