Re: [RFC PATCH v3 00/11] virtio/vsock: experimental zerocopy receive

From: Arseniy Krasnov
Date: Sun Nov 13 2022 - 05:04:56 EST


On 12.11.2022 14:40, Arseniy Krasnov wrote:

Hello again Bobby,

i wasn't CCed in Your patchset, but I review it anyway and write comments here in this
manner:) I found strange thing:

In 'virtio_transport_recv_enqueue()' new packet could be copied to the last packet in
rx queue(skb in current version). During copy You update last skb length by call
'skb_put(last_skb, skb->len)' inside 'memcpy()'. So 'last_skb' now have new length,
but header of packet is not updated.

Now let's look to 'virtio_transport_seqpacket_do_dequeue()', it uses value from packet's
header as 'pkt_len', not from skb:

pkt_len = (size_t)le32_to_cpu(hdr->len);

I think we need to update last packet's header during merging new packet to last packet
of rx queue.

Thanks, Arseniy


> On 11.11.2022 23:45, Bobby Eshleman wrote:
>> On Fri, Nov 11, 2022 at 02:47:15PM +0100, Stefano Garzarella wrote:
>>> Hi Arseniy,
>>> maybe we should start rebasing this series on the new support for skbuff: https://lore.kernel.org/lkml/20221110171723.24263-1-bobby.eshleman@xxxxxxxxxxxxx/
>>>
>>> CCing Bobby to see if it's easy to integrate since you're both changing the
>>> packet allocation.
>>>
>>
>> This looks like the packet allocation can be married somewhat nicely in
>> since SKBs may be built from pages using build_skb(). There may be some
>> tweaking necessary though, since it also uses the tail chunk of the page
>> to hold struct skb_shared_info IIRC.
>>
>> I left some comments on the patch with the allocator in it.
> Hello Bobby,
>
> thanks for review. I'll rebase my patchset on Your skbuff support.
>>
>>>
>>> Maybe to avoid having to rebase everything later, it's already worthwhile to
>>> start using Bobby's patch with skbuff.
>>>
>>
>> I'll be waiting until Monday to see if some more feedback comes in
>> before sending out v4, so I expect v4 early next week, FWIW.
> One request from me, could You please CC me for next versions of
> Your patchset, because:
> 1) I'll always have latest version of skbuff support.
> 2) I'll see review process also.
>
> My contacts:
> oxffffaa@xxxxxxxxx
> AVKrasnov@xxxxxxxxxxxxxx
>
> Thanks, Arseniy
>
>>
>> Best,
>> Bobby
>