Re: Regarding AHCI_MAX_SG and (ATA_HORKAGE_MAX_SEC_1024)
From: Tejun Heo <tj@kernel.org>
Date: 2016-08-10 19:06:23
Also in:
linux-ide, linux-scsi, lkml
From: Tejun Heo <tj@kernel.org>
Date: 2016-08-10 19:06:23
Also in:
linux-ide, linux-scsi, lkml
Hello, Tom. On Wed, Aug 10, 2016 at 06:04:10PM +0800, Tom Yan wrote:
On 10 August 2016 at 11:26, Tejun Heo [off-list ref] wrote:quoted
Hmmm.. why not? The hardware limit is 64k and the driver is using aIs that referring to the maximum number of entries allowed in the PRDT, Physical Region Descriptor Table (which is, more precisely, 65535)?
Yeap.
quoted
Not necessarily. A single sg entry can point to an area larger than PAGE_SIZE.You mean the 4MB limit of "Data Byte Count" in "DW3: Description Information" of the PRDT? Is that what max_segment_size (which is set to a general fallback of 65536: http://lxr.free-electrons.com/ident?i=dma_get_max_seg_size) is about in this case?
Ah, ahci isn't setting the hardware limit properly but yeah that's the maximum segment size.
And my point was, it will be a multiple of 168 anyway, if 1344 is just an example.quoted
As written above, that probably makes the ahci command table size nicely aligned.I think that's what bothers me ultimately, cause I don't see how 168 makes it (more) nicely aligned (or even, aligned to what?).
Hmmm... Looked at the sizes and they don't seem to align to anything meaningful. No idea. Thanks. -- tejun