AHCI driver update - initial PM support in.

看板DFBSD_kernel作者時間16年前 (2009/06/12 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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 yet. 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. -Matt
文章代碼(AID): #1ACKPh00 (DFBSD_kernel)