Re: Random libata notes

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

 



Tejun Heo wrote:
Tejun Heo wrote:

Jeff Garzik wrote:

These are small TODO bits that I didn't want to forget... Patches welcome.

1) ATAPI edge case. Due to adding the padding s/g entry, we must adjust sg_tablesize to include ' - 1' for each driver



Isn't this handled by ata_scsi_slave_config()? If the attached device is ATAPI, ata_scsi_slave_config() reduces max_hw_segments by 1. We'll need to increment it back when detaching the device though.


2) ata_scsi_slave_config() hardcodes a call to
blk_queue_max_phys_segments(, LIBATA_MAX_PRD), when the value passed
should not be so limited on nice hardware like AHCI.


And, AFAICS, we can increase max_phys_segments all we want. This limits the number of segments before IOMMU mapping. The only part that's affected is the driver (software) and I don't see any limitation in libata PIO implementation that puts limitation on the number of sg entries. Simply changing LIBATA_MAX_PRD to 65535 should do it.

We really want to accurately export the correct value for each piece of hardware. It IMO isn't wise to tempt fate with a wide disparity between max_phys_segments, max_hw_segments, and real life... :)

	Jeff



-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux