Re: [GIT PATCH] scsi updates for post 2.6.18

Douglas Gilbert
2006-10-05T23:33:34Z

Guennadi Liakhovetski wrote:
> On Thu, 5 Oct 2006, Jeff Garzik wrote:
>
>> Guennadi Liakhovetski wrote:
>>> On Wed, 4 Oct 2006, James Bottomley wrote:
>>>
>>>> This is (hopefully) my final batch of updates before we go -rc1. It's
>>>> mainly code cleanups, some driver updates and the new qla4xxx iScsi
>>>> driver.
>>> James, is there a reason why you didn't include this one:
>>>
>>> http://marc.theaimsgroup.com/?l=linux-scsi&m=115974328128341&w=2
>>>
>>> Do you think it can cause problems?
>> It would be nice to get it tested, based on your "don't know if it works
>> though" comment...
>
> Sure, it WOULD be nice, but I don't know how. The "don't know" refers to
> the case 16MB block size, my tape supports only 16MB - 1 byte (according
> to st report). Is there a way to test various block sizes with CDs /
> hard-disks / ZIP / scanners?
> Would something with sg_dd work?

Interesting challenge.

In lk 2.6.19-rc1 with /dev/sda and
/dev/sg0 the same SCSI disk I can get close:

[root@sas parameters]# cd /sys/block/sda/queue/
[root@sas queue]# echo 32767 > max_sectors_kb
[root@sas queue]# cd /sys/module/sg/parameters/
[root@sas parameters]# echo 131072 > scatter_elem_sz
[root@sas parameters]# sg_dd if=/dev/sg0 of=/dev/null bs=512 bpt=32640 count=32k verbose=3
>> Input file type: SCSI generic (sg) device
open input(sg_io), flags=0x800
inquiry cdb: 12 00 00 00 24 00
/dev/sg0: SEAGATE ST336754SS 0003 [pdt=0]
>> Output file type: null device
read cdb: 28 00 00 00 00 00 00 7f 80 00
duration=180 ms
read cdb: 28 00 00 00 7f 80 00 00 80 00
duration=4 ms
32768+0 records in
32768+0 records out

So I got within 128 (512 byte) sectors of a 16 MB transfer
on a single command. Hmm.
This is with a adaptec 48300 HBA with the aic94xx driver
(take your pick which one).

Looks like
> it must be only sector size. Can I low-level format a disk with 16M
> sector?:-)

No usually. Some SCSI disk can be formatted up to 528
byte sectors but that is a long way short.

> Another possibility is to limit the block size at 8MB - I can test that.

The sg driver gets around that in lk 2.6.19-rc1

Doug Gilbert