RE: [PATCH v5 2/2] virtio-net: use mtu size as buffer length for big packets
From: Parav Pandit <hidden>
Date: 2022-09-07 19:18:14
Also in:
virtualization
From: Parav Pandit <hidden>
Date: 2022-09-07 19:18:14
Also in:
virtualization
From: Michael S. Tsirkin <mst@redhat.com> Sent: Wednesday, September 7, 2022 3:12 PM
quoted
Because of shallow queue of 16 entries deep.but why is the queue just 16 entries?
I explained the calculation in [1] about 16 entries. [1] https://lore.kernel.org/netdev/PH0PR12MB54812EC7F4711C1EA4CAA119DC419@PH0PR12MB5481.namprd12.prod.outlook.com/ (local)
does the device not support indirect?
Yes, indirect feature bit is disabled on the device.
because with indirect you get 256 entries, with 16 s/g each.
Sure. I explained below that indirect comes with 7x memory cost that is not desired. (Ignored the table memory allocation cost and extra latency). Hence don't want to enable indirect in this scenario. This optimization also works with indirect with smaller indirect table.
quoted
With driver turn around time to repost buffers, device is idle without anyRQ buffers.quoted
With this improvement, device has 85 buffers instead of 16 to receivepackets.quoted
Enabling indirect in device can help at cost of 7x higher memory per VQ inthe guest VM.