On Feb 28, 2006, at 2:38 PM, Kai Makisara wrote:
On Tue, 28 Feb 2006, Douglas Gilbert wrote:
Mark,
You can stop right there with the 1 MB reads. Welcome
to the new, blander sg driver which now shares many
size shortcomings with the block subsystem.
In lk 2.6.15 the sg driver (and the st driver) did its
own scatter gather list allocations. The sg driver
used 32 KB segments (8 times the normal page size)
in each scatter gather element. The maximum number
of scatter gather elements depends on the LLD but
can be no more than 256. That meant the sg driver
allowed a maximum single IO size of 8 MB. There was
also a define in sg.h (SG_SCATTER_SZ and it is still
there) that allowed the 32KB per segment to be increased
allowing larger single command transfers (then 8 MB).
This is still possible but it needs some changes to most SCSI HBA
drivers.
The big requests are split into bios supporting 256 pages. For 4 kB
pages,
this limits i/o to 1 MB. The scsi_execute_async() path used by st
and sg
can chain bios and this enables large request at the ULD level. At
lower
level, the request consists of pages and now we hit the s/g list
maximum
length _unless_ the HBA driver enables clustering. In this case the
adjacent pages are coalesced and the large requests fit into the
HBA s/g
limits. Well, now we hit another limit: the max_sectors default for
SCSI
drivers is 1024 and this limits requests to 512 kB _unless_ the HBA
driver
increases max_sectors.
The aic79xx driver enables clustering but does not increase
max_sectors.
This makes the maximum request size 512 kB. If it is possible to set
.max_sectors = 0xFFFF,
in linux/drivers/scsi/aic7xxx/aic79xx_osm.c without breaking the
driver,
this should enable requests up to 8 MB - 256 B. (I don't have the
hardware
to test this.)
Indeed, this seems to work fine, at least with the hardware we have.
Gotta love those one-line patches.
Several SCSI HBA drivers currently have similar problems.
Yes. Now that I know about this, it is no problem. I'm not allergic
to patches.
Thanks to both of you for your responses. I would submit a patch for
this except that I know I don't know that it won't cause problems for
configurations and targets that I can't test.
--
Mark Rustad, [email protected]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]