DragonFly-2.3.1.241.gf4553 master sys/dev/disk/ahci ahci.c ahci.

看板DFBSD_commit作者時間16年前 (2009/06/13 06:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit f4553de13c8796ae9536441d5de2afa0aa352699 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Fri Jun 12 14:45:35 2009 -0700 AHCI - Implement parallel port scan and thread each port interrupt. * Implement a thread helper for each port. The master interrupt will perform all actions which can be done without blocking and will delegate any remaining actions (typically error and timeout handling) to the port's thread helper. * The thread helper is responsible for the initial probe. Thus ALL AHCI SATA PORTS WILL NOW PROBE IN PARALLEL! Instead of 6 ports each taking 2 seconds to probe we now have 6 ports probing in a total of 2 seconds. * Multiple port multipliers will probe in parallel, but targets on each one have to be iterated. * The attach code waits for all ports to fully probe and then runs CAM attachments serially. This step goes very quickly since the ports have already probed. * Stalls on one physical port will no longer stall the rest of the ports. So, for example, stalls on the port connected to your port multiplier will not effect operations on, say, your internal SATA ports. Summary of changes: sys/dev/disk/ahci/ahci.c | 273 +++++++++++++++++++++++++++--------- sys/dev/disk/ahci/ahci.h | 26 +++- sys/dev/disk/ahci/ahci_attach.c | 56 +++++--- sys/dev/disk/ahci/ahci_cam.c | 100 +++++++------- sys/dev/disk/ahci/ahci_dragonfly.c | 119 ++++++++++++++++ sys/dev/disk/ahci/ahci_dragonfly.h | 1 + sys/dev/disk/ahci/atascsi.h | 1 + 7 files changed, 437 insertions(+), 139 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f4553de13c8796ae9536441d5de2afa0aa352699 -- DragonFly BSD source repository
文章代碼(AID): #1ACj0X00 (DFBSD_commit)