Re: HCD sg_tablesize

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/11/10, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:

Dear Alan,

> > >> Yes, Ramya's transfer was one URB with a scatter-gather list of ~120
> > >> entries.  He was working on a UASP driver that sets the max_sectors
> > >> field in scsi_host_template to 960 or 1024, which makes some of the
> > >> sglists very large.
> > >
> > > Then his driver is buggy.  It should limit the length of scatter-gather
> > > lists allowed by the host according to what the HCD can support, the
> > > way usb-storage does:
> > >
> > >        host->sg_tablesize = usb_stor_sg_tablesize(intf);
> >
> > Dear Alan,
> >
> > My device is a UASP device, however I am testing the default usb
> > storage driver for maximum transfer buffer sizes as my device supports
> > upto 1 MB transfer buffer sizes. There is a thread about the "Maximum
> > data size in a single transfer for MS driver", which we have discussed
> > in the month February, 2010. The link for the thread is as follows.
> > http://marc.info/?t=126641036700002&r=3&w=2
> >
> > NOTE: As we discussed in the above thread, the function, named
> > store_max_sectors, has changed in 2.6.34-rc2 kernel version.
>
> That should not have made any difference.  We are talking about
> sg_tablesize, not max_sectors.  In xhci-pci.c, sg_tablesize is set to
> TRBS_PER_SEGMENT - 1, or 63.  Therefore it should not be possible for
> you to receive a transfer request containing more than 63 scatterlist
> elements.  But Sarah said (see above) that you submitted a request with
> ~120 elements.  This means something is wrong somewhere.

I can accept you that sg_tablesize and max_sectors are different. Here
is what Sarah said in her previous email.

> > >> Yes, Ramya's transfer was one URB with a scatter-gather list of ~120
> > >> entries.  He was working on a UASP driver that sets the max_sectors
> > >> field in scsi_host_template to 960 or 1024, which makes some of the
> > >> sglists very large

According to her, she saw ~120 entries when I change the max_sectors
value to 960 or 1024 in the scsi_host_template. I want to say one
thing here that I am testing the default usb storage driver for 960 or
1024 sectors with my UASP device.When I am testing the default usb
storage driver with 960 max_sectors Sarah saw ~120 scatter-gather list
entries.

Please let me know If I am wrong.

I am not able to test my UASP device with default storage driver when
max_sectors value is changed to 960 or 1024 in the scsi_host_template.
However, when max_sectors value is 240 or 720 I am able to do all the
operations with my UASP device using the default mass storage driver.

Please let me know if you need any additional information.

Thanks and Regards,
Ramya.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux