Re: [PATCH net 6/7] virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs
From: Jesper Dangaard Brouer <hidden>
Date: 2019-01-17 13:39:24
On Thu, 17 Jan 2019 20:56:39 +0800 Jason Wang [off-list ref] wrote:
On 2019/1/17 下午7:20, Toshiaki Makita wrote:quoted
put_page() can work as a fallback for freeing xdp_frames, but the appropriate way is to use xdp_return_frame(). Fixes: cac320c850ef ("virtio_net: convert to use generic xdp_frame and xdp_return_frame API") Signed-off-by: Toshiaki Makita <redacted> --- drivers/net/virtio_net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index ae93f0e..996de69 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c@@ -2668,7 +2668,7 @@ static void free_unused_bufs(struct virtnet_info *vi) if (!is_xdp_raw_buffer_queue(vi, i)) dev_kfree_skb(buf); else - put_page(virt_to_head_page(buf)); + xdp_return_frame(buf);
I assume the is_xdp_raw_buffer_queue() test assures that this void *buf is a struct xdp_frame.
quoted
} }Acked-by: Jason Wang <jasowang@redhat.com>
Acked-by: Jesper Dangaard Brouer <redacted> -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer