On Thu, Apr 25, 2024 at 10:37 AM Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > > On Thu, 25 Apr 2024 10:11:55 +0800, Jason Wang <jasowang@xxxxxxxxxx> wrote: > > On Wed, Apr 24, 2024 at 4:17 PM Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > > > > > > The virtio-net big mode did not enable premapped mode, > > > so we did not need to check the unmap. And the subsequent > > > commit will remove the failover code for failing enable > > > premapped for merge and small mode. So we need to remove > > > the checking do_dma code in the big mode path. > > > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> > > > --- > > > 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 c22d1118a133..16d84c95779c 100644 > > > --- a/drivers/net/virtio_net.c > > > +++ b/drivers/net/virtio_net.c > > > @@ -820,7 +820,7 @@ static void virtnet_rq_unmap_free_buf(struct virtqueue *vq, void *buf) > > > > > > rq = &vi->rq[i]; > > > > > > - if (rq->do_dma) > > > + if (!vi->big_packets || vi->mergeable_rx_bufs) > > > > This seems to be equivalent to > > > > if (!vi->big_packets) > > > If VIRTIO_NET_F_MRG_RXBUF and guest_gso are coexisting, > big_packets and mergeable_rx_bufs are all true. > !vi->big_packets only means the small. > > Did I miss something? Nope, you are right. The big_packets are kind of misleading as it doesn't mean big mode. Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Thanks > > Thanks. > > > > > > > > > virtnet_rq_unmap(rq, buf, 0); > > > > > > virtnet_rq_free_buf(vi, rq, buf); > > > @@ -2128,7 +2128,7 @@ static int virtnet_receive(struct receive_queue *rq, int budget, > > > } > > > } else { > > > while (packets < budget && > > > - (buf = virtnet_rq_get_buf(rq, &len, NULL)) != NULL) { > > > + (buf = virtqueue_get_buf(rq->vq, &len)) != NULL) { > > > receive_buf(vi, rq, buf, len, NULL, xdp_xmit, &stats); > > > packets++; > > > } > > > > Other part looks good. > > > > Thanks > > > > > -- > > > 2.32.0.3.g01195cf9f > > > > > >