Re: [PATCH net-next 2/2] virtio-net: fix the XDP truesize calculation for mergeable buffers

From: Jason Wang
Date: Wed May 06 2020 - 04:21:32 EST



On 2020/5/6 äå3:37, Michael S. Tsirkin wrote:
On Wed, May 06, 2020 at 02:16:33PM +0800, Jason Wang wrote:
We should not exclude headroom and tailroom when XDP is set. So this
patch fixes this by initializing the truesize from PAGE_SIZE when XDP
is set.

Cc: Jesper Dangaard Brouer<brouer@xxxxxxxxxx>
Signed-off-by: Jason Wang<jasowang@xxxxxxxxxx>
Seems too aggressive, we do not use up the whole page for the size.




For XDP yes, we do:

static unsigned int get_mergeable_buf_len(struct receive_queue *rq,
ÂÂÂ ÂÂÂ ÂÂÂ ÂÂÂ ÂÂÂ Â struct ewma_pkt_len *avg_pkt_len,
ÂÂÂ ÂÂÂ ÂÂÂ ÂÂÂ ÂÂÂ Â unsigned int room)
{
ÂÂÂ const size_t hdr_len = sizeof(struct virtio_net_hdr_mrg_rxbuf);
ÂÂÂ unsigned int len;

ÂÂÂ if (room)
ÂÂÂ ÂÂÂ return PAGE_SIZE - room;

...

Thanks