On 3/13/25 04:02, Zongmin Zhou wrote:
On 2025/3/11 00:49, Shuah Khan wrote:
On 3/5/25 03:03, Zongmin Zhou wrote:If set vhci-hcd dma mask to 64 by default,I can't predict what will happen when the real USB controller support less than 64bit?
At 2025-03-05 03:45:28, "Shuah Khan" <skhan@xxxxxxxxxxxxxxxxxxx> wrote:
On 3/2/25 05:37, Zongmin Zhou wrote:>What are the two possible solutions?
Dear shuah,
Yes, I agree with you.It would be better if there have a more simpler fixes than This patch.
I can just think of the two possible solutions that mentioned before.
1. The patch we are discussing now,have to change the API between the kernel and user-space.
2. Simply set vhci-hcd dma mask to 64 by default,just modify the vhci-hcd driver. Then dma_max_mapping_size() will always return SIZE_MAX.
I prefer option #2 - What are the downsides if any with this option?
After all, the data flows from vhci-hcd to usbip-host and finally to the USB controller to which the device is actually connected.
the data is ultimately processed through the real USB controller?
Sorry for the delay.
That is the case. I have to check the code to see what the host
would do if it receives larger buffers from the client (vhci)
However, the default setting to 64-bit is equivalent to eliminating the impact of
the patch(commit d74ffae8b8dd) on usbip protocol devices, sounds feasible?
I am not very professional in this field, waiting for your evaluation.
We can give this a try. Send me the patch with default testing the
following cases:
Host - swiotlb enabled and disabled in your environment to see what
happens when there is a mismatch swiotlb enabled case and client
side doesn't limit the size.
thanks,
-- Shuah