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

linhaifeng haifeng.lin at huawei.com
Fri Oct 14 09:30:35 CEST 2016


在 2016/10/10 16:03, Yuanhan Liu 写道:
> 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.
> 
> .
>

It ok to set data_off zero.
But we also can use 128 bytes headromm when guest use virtio_net PMD but not for virtio_net kernel driver.

I think it's better to add headroom size to desc and kernel dirver support set headroom size.




More information about the dev mailing list