From: Si-Wei Liu <[email protected]> 
Sent: Friday, August 26, 2022 4:52 AM

> Sorry for the delay. Didn't notice as this thread was not addressed to my 
> work email. Please copy to my work email if it needs my immediate attention.

Can you please setup your mail client to post plain text mail as required by 
mailing list.
Conversation without it is close to impossible to track.
+       /* If we can receive ANY GSO packets, we must allocate large ones. */
+       if (mtu > ETH_DATA_LEN || guest_gso) {
+               vi->big_packets = true;
+               /* if the guest offload is offered by the device, user can 
modify
+                * offload capability. In such posted buffers may short fall of 
size.
+                * Hence allocate for max size.
+                */
+               if (virtio_has_feature(vi->vdev, 
VIRTIO_NET_F_CTRL_GUEST_OFFLOADS))
+                       vi->big_packets_sg_num = MAX_SKB_FRAGS;
> MAX_SKB_FRAGS is needed when any of the guest_gso capability is offered. This 
> is per spec regardless if VIRTIO_NET_F_CTRL_GUEST_OFFLOADS is negotiated or 
> not. Quoting spec:


> If VIRTIO_NET_F_MRG_RXBUF is not negotiated: 
> If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO 
> are negotiated, the driver SHOULD populate the receive queue(s) with buffers 
> of at least 65562 bytes.

Spec recommendation is good here, but Linux driver knows that such offload 
settings cannot change if the above feature is not offered.
So I think we should add the comment and reference to the code to have this 
optimization.
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to