Hi, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes: > On Wed, 13 Apr 2016, Felipe Balbi wrote: > >> USB3 devices, because they are much newer, have much >> less chance of having issues with larger transfers. >> >> We still keep a limit because anything above 2048 >> sectors really rendered negligible speed >> improvements, so we will simply ignore >> that. Transferring 1MiB should already give us >> pretty good performance. >> >> Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> >> --- >> drivers/usb/storage/scsiglue.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c >> index 9da1fb3d0ff4..2bb6a88858ea 100644 >> --- a/drivers/usb/storage/scsiglue.c >> +++ b/drivers/usb/storage/scsiglue.c >> @@ -127,6 +127,11 @@ static int slave_configure(struct scsi_device *sdev) >> if (queue_max_hw_sectors(sdev->request_queue) > max_sectors) >> blk_queue_max_hw_sectors(sdev->request_queue, >> max_sectors); >> + } else if (us->pusb_dev->speed >= USB_SPEED_SUPER) { >> + /* USB3 devices will be limited to 2048 sectors. This gives us >> + * better throughput on most devices. >> + */ >> + blk_queue_max_hw_sectors(sdev->request_queue, 2048); >> } else if (sdev->type == TYPE_TAPE) { >> /* Tapes need much higher max_sector limits, so just >> * raise it to the maximum possible (4 GB / 512) and > > Argh! This has the same kind of problem as before. What will happen > when somebody has a USB-3 tape drive? I didn't know that was even plausible :-) Anyway, I'll update, but while at that, so I use for bcdUSB instead of speed as Oliver suggested ? I mean, a USB3 stick running on high-speed can also support 2048 max sectors, right ? let me know -- balbi
Attachment:
signature.asc
Description: PGP signature