[libata sata_sil] implement 'slow_down' module parameter
authorJeff Garzik <jgarzik@pobox.com>
Fri, 27 Jan 2006 21:50:27 +0000 (16:50 -0500)
committerJeff Garzik <jgarzik@pobox.com>
Fri, 27 Jan 2006 21:50:27 +0000 (16:50 -0500)
commit51e9f2ff83df6b1c81c5c44f4486c68ed87aa20e
treee6f54581c145ad1849bc1b2e4c3dbd2ccead405b
parent3ee68c4af3fd7228c1be63254b9f884614f9ebb2
[libata sata_sil] implement 'slow_down' module parameter

On occasion, a user will submit a patch that enables the "mod15write"
quirk for their device.  Enabling this quirk has the effect of clamping
all ATA commands to no more than 15 sectors.  The intended use of this
quirk is to stop the controller from generating FIS's of unusual size
("but Wesley, what about the FOUS's?"), which in turn works around
problems in a <list> of hard drives.

One side effect of this quirk is greatly decreased performance.  Users
often enable the mod15write quirk to fix various system, power, chip,
and/or driver problems.  For a few rare problematic cases, enabling this
has cured lockups or data corruption.

Rather than add bogus listings to the mod15write quirk list (I get a
patch every month doing such), we add a 'slow_down' module parameter.
This allows users to employ a performance sledgehammer in the hopes
of curing a problem.  It defaults to off (0), of course.
drivers/scsi/sata_sil.c