DragonFly kernel List (threaded) for 2009-06
DragonFly BSD
DragonFly kernel List (threaded) for 2009-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

AHCI driver update - initial PM support in.

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 11 Jun 2009 10:01:12 -0700 (PDT)

    The AHCI driver now handles port multipliers.  I don't have any hardware
    with the FBSS (FIS-based switching) feature so it doesn't support that

    Note that performance for command-based switching access, which is the
    kind we use, is horrible by definition and there isn't much we can do
    about it.  It's because the AHCI part only issues one command at a time
    and then waits for the response before issuing the next one when working
    across a port multiplier.  For example, if you access a unit which as
    I/O errors and long timeouts, it will stall all the devices behind the
    PM (and in fact might stall the entire SATA subsystem for a period of
    time due there being only one interrupt).

    The port multiplier support is not considered production ready yet,
    there are some issues with iteration timeouts (sometimes it misses a
    disk), and I haven't life-tested the I/O yet with 4-5 disks installed.
    I also intend to make notification work (if its possible), or otherwise
    detect when a target unit behind a port multiplier is added or removed.

    I still have a ton of stuff on my TODO list, mostly related to
    performance.  It's pretty clear that I am going to have to give
    each SATA port its own thread to handle certain conditions so
    stalls don't effect the entire system.

    We also really, really need to start making the device mounts available
    by disk serial number as the probe ordering will change the 'daXXX'
    assigned to any given drive, but that's another issue.


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