[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3e1f8fab-0155-4ff9-800d-5fa9df88c48c@linuxfoundation.org>
Date: Tue, 8 Apr 2025 16:54:24 -0600
From: Shuah Khan <skhan@...uxfoundation.org>
To: Zongmin Zhou <min_halo@....com>
Cc: valentina.manea.m@...il.com, shuah@...nel.org, i@...ithal.me,
gregkh@...uxfoundation.org, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org, Zongmin Zhou <zhouzongmin@...inos.cn>,
Shuah Khan <skhan@...uxfoundation.org>
Subject: Re: [PATCH] usbip: Fix the error limitation on max_hw_sectors for
usbip device
On 4/2/25 02:34, Zongmin Zhou wrote:
>
> On 2025/3/29 05:14, Shuah Khan wrote:
>> 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:
>>>>> At 2025-03-05 03:45:28, "Shuah Khan" <skhan@...uxfoundation.org> wrote:
>>>>>
>>>>>> On 3/2/25 05:37, Zongmin Zhou wrote:
>>>>>>> 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.
>>>>>>
>>>>> >What are the two possible solutions?
>>>>> 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?
>>>>
>>> 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?
>>>
>>> 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.
>
> If you want to test swiotlb disabled mode, you can modify the kernel cmd to force disable swiotlb:
>
> modify the grub.cfg, add the swiotlb=noforce parameter to kernel command line,and reboot.
>
> cat /proc/cmdline to check whether modified successfully.
>
>
> The patch set vhci-hcd dma mask to 64 by default like below:
>
> ---
> drivers/usb/usbip/vhci_hcd.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c
> index e70fba9f55d6..fca3a4a6e94d 100644
> --- a/drivers/usb/usbip/vhci_hcd.c
> +++ b/drivers/usb/usbip/vhci_hcd.c
> @@ -1345,6 +1345,9 @@ static int vhci_hcd_probe(struct platform_device *pdev)
>
> usbip_dbg_vhci_hc("name %s id %d\n", pdev->name, pdev->id);
>
> + /* Set the dma mask to support 64bit for vhci-hcd driver. */
> + dma_set_mask(&pdev->dev, DMA_BIT_MASK(64));
> +
> /*
> * Allocate and initialize hcd.
> * Our private data is also allocated automatically.
Please send me a patch I can apply.
thanks,
-- Shuah
Powered by blists - more mailing lists