• Jeff Garzik's avatar
    [libata sata_sil] implement 'slow_down' module parameter · 51e9f2ff
    Jeff Garzik authored
    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.
    51e9f2ff
sata_sil.c 15 KB