Parav Pandit
2023-Jan-16 20:27 UTC
[PATCH net-next v2] virtio_net: Reuse buffer free function
virtnet_rq_free_unused_buf() helper function to free the buffer
already exists. Avoid code duplication by reusing existing function.
Reviewed-by: Alexander Duyck <alexanderduyck at fb.com>
Reviewed-by: Xuan Zhuo <xuanzhuo at linux.alibaba.com>
Signed-off-by: Parav Pandit <parav at nvidia.com>
---
drivers/net/virtio_net.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 7723b2a49d8e..31d037df514f 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -1251,13 +1251,7 @@ static void receive_buf(struct virtnet_info *vi, struct
receive_queue *rq,
if (unlikely(len < vi->hdr_len + ETH_HLEN)) {
pr_debug("%s: short packet %i\n", dev->name, len);
dev->stats.rx_length_errors++;
- if (vi->mergeable_rx_bufs) {
- put_page(virt_to_head_page(buf));
- } else if (vi->big_packets) {
- give_pages(rq, buf);
- } else {
- put_page(virt_to_head_page(buf));
- }
+ virtnet_rq_free_unused_buf(rq->vq, buf);
return;
}
--
2.26.2
Michael S. Tsirkin
2023-Jan-16 22:13 UTC
[PATCH net-next v2] virtio_net: Reuse buffer free function
On Mon, Jan 16, 2023 at 10:27:08PM +0200, Parav Pandit wrote:> virtnet_rq_free_unused_buf() helper function to free the buffer > already exists. Avoid code duplication by reusing existing function. > > Reviewed-by: Alexander Duyck <alexanderduyck at fb.com> > Reviewed-by: Xuan Zhuo <xuanzhuo at linux.alibaba.com> > Signed-off-by: Parav Pandit <parav at nvidia.com> > --- > drivers/net/virtio_net.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 7723b2a49d8e..31d037df514f 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -1251,13 +1251,7 @@ static void receive_buf(struct virtnet_info *vi, struct receive_queue *rq, > if (unlikely(len < vi->hdr_len + ETH_HLEN)) { > pr_debug("%s: short packet %i\n", dev->name, len); > dev->stats.rx_length_errors++; > - if (vi->mergeable_rx_bufs) { > - put_page(virt_to_head_page(buf)); > - } else if (vi->big_packets) { > - give_pages(rq, buf); > - } else { > - put_page(virt_to_head_page(buf)); > - } > + virtnet_rq_free_unused_buf(rq->vq, buf); > return; > }Sure. Acked-by: Michael S. Tsirkin <mst at redhat.com> while we are at it how about a patch moving virtnet_rq_free_unused_buf and virtnet_sq_free_unused_buf so we don't need forward declarations? E.g. a good place for virtnet_sq_free_unused_buf is likely after ptr_to_xdp group of functions. For virtnet_rq_free_unused_buf - after give_pages/get_a_page.> > -- > 2.26.2
Jason Wang
2023-Jan-17 03:06 UTC
[PATCH net-next v2] virtio_net: Reuse buffer free function
On Tue, Jan 17, 2023 at 4:27 AM Parav Pandit <parav at nvidia.com> wrote:> > virtnet_rq_free_unused_buf() helper function to free the buffer > already exists. Avoid code duplication by reusing existing function. > > Reviewed-by: Alexander Duyck <alexanderduyck at fb.com> > Reviewed-by: Xuan Zhuo <xuanzhuo at linux.alibaba.com> > Signed-off-by: Parav Pandit <parav at nvidia.com>Acked-by: Jason Wang <jasowang at redhat.com> Thanks> --- > drivers/net/virtio_net.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 7723b2a49d8e..31d037df514f 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -1251,13 +1251,7 @@ static void receive_buf(struct virtnet_info *vi, struct receive_queue *rq, > if (unlikely(len < vi->hdr_len + ETH_HLEN)) { > pr_debug("%s: short packet %i\n", dev->name, len); > dev->stats.rx_length_errors++; > - if (vi->mergeable_rx_bufs) { > - put_page(virt_to_head_page(buf)); > - } else if (vi->big_packets) { > - give_pages(rq, buf); > - } else { > - put_page(virt_to_head_page(buf)); > - } > + virtnet_rq_free_unused_buf(rq->vq, buf); > return; > } > > -- > 2.26.2 >