Re: [RFC PATCH V3 2/2] net: netvsc: Allocate per-device swiotlb bounce buffer for netvsc

From: Tianyu Lan
Date: Fri May 27 2022 - 08:38:34 EST




On 5/27/2022 2:43 AM, Dexuan Cui wrote:
From: Tianyu Lan <ltykernel@xxxxxxxxx>
Sent: Thursday, May 26, 2022 5:01 AM
...
@@ -119,6 +124,10 @@ static void netvsc_subchan_work(struct work_struct
*w)
nvdev->max_chn = 1;
nvdev->num_chn = 1;
}
+
+ /* Allocate boucne buffer.*/
+ swiotlb_device_allocate(&hdev->device, nvdev->num_chn,
+ 10 * IO_TLB_BLOCK_UNIT);
}

Looks like swiotlb_device_allocate() is not called if the netvsc device
has only 1 primary channel and no sub-schannel, e.g. in the case of
single-vCPU VM?

When there is only sinlge,there seems not to be much performance
penalty. But you are right, we should keep the same behavior when single CPU and multi CPU. Will update in the next version.

Thanks.