[dpdk-dev] [PATCH 0/6] vhost: add Tx zero copy support

Yuanhan Liu yuanhan.liu at linux.intel.com
Mon Oct 10 10:03:39 CEST 2016


On Sun, Oct 09, 2016 at 06:46:44PM +0800, linhaifeng wrote:
> 在 2016/8/23 16:10, Yuanhan Liu 写道:
> > The basic idea of Tx zero copy is, instead of copying data from the
> > desc buf, here we let the mbuf reference the desc buf addr directly.
> 
> Is there problem when push vlan to the mbuf which reference the desc buf addr directly?

Yes, you can't do that when zero copy is enabled, due to following code
piece:

    +               if (unlikely(dev->dequeue_zero_copy && (hpa = gpa_to_hpa(dev,
    +                                       desc->addr + desc_offset, cpy_len)))) {
    +                       cur->data_len = cpy_len;
==> +                       cur->data_off = 0;
    +                       cur->buf_addr = (void *)(uintptr_t)desc_addr;
    +                       cur->buf_physaddr = hpa;

The marked line basically makes the mbuf has no headroom to use.

	--yliu

> We know if guest use virtio_net(kernel) maybe skb has no headroom.


More information about the dev mailing list