Re: How to resolve an issue in swiotlb environment?

Christoph Hellwig
2019-06-12T11:33:16Z

On Wed, Jun 12, 2019 at 08:52:21AM +0000, Yoshihiro Shimoda wrote:
> Hi Christoph,
>
> > From: Christoph Hellwig, Sent: Wednesday, June 12, 2019 4:31 PM
> >
> > First things first:
> >
> > Yoshihiro, can you try this git branch? The new bits are just the three
> > patches at the end, but they sit on top of a few patches already sent
> > out to the list, so a branch is probably either:
> >
> > git://git.infradead.org/users/hch/misc.git scsi-virt-boundary-fixes
>
> Thank you for the patches!
> Unfortunately, the three patches could not resolve this issue.
> However, it's a hint to me, and then I found the root cause:
> - slave_configure() in drivers/usb/storage/scsiglue.c calls
> blk_queue_max_hw_sectors() with 2048 sectors (1 MiB) when USB_SPEED_SUPER or more.
> -- So that, even if your patches (also I fixed it a little [1]) could not resolve
> the issue because the max_sectors is overwritten by above code.
>
> So, I think we should fix the slave_configure() by using dma_max_mapping_size().
> What do you think? If so, I can make such a patch.

Yes, please do.