実機テスト。
マイデスクトップマシンでテストしてみた。
動く。スバラシイ。
SATAコントローラとかIEEE1394コントローラとか、結構いろいろと付いたマザーボードなので、並列読み込みが結構効いている気がする。特にSATAとIDEの同時読み込みは良い感じ。
今回見つかった問題は、USBのドライバのロードに結構時間がかかるということ。
と言うか、もう待ち時間はこれとネットワークの起動にかかる時間くらいしかない。
いまハードウェアの自動検出は、
1. PCIで繋がっているデバイスの検出
2. PC Cardのコントローラが検出されたら、PC Cardのドライバをロードして、PC Cardで繋がっているデバイスを検出
3. USBのコントローラが検出されたら、USBのドライバをロードして、USBで繋がっているデバイスの検出
4. IDE、IEEE1394(もし検出されたら)、SATA(もし検出されたら)、SCSI(もし検出されたら)、その他のデバイス(もし検出されたら)のドライバを同時にロード
という手順で行っているのだけど、「USBで繋がっているSCSIコントローラ」というものが存在するらしいので、SCSIのドライバを読み込むか否かを、USBのロード&検出の後にしないといけない。
なので並列化できない。
SCSIだけ別にするのも手かな?
「USBで繋がっているIEEE1394コントローラ」ってのはあるのかな?聞いたことが無い。ありそうだけどなぁ。
「USBで繋がっているPC Cardコントローラ」なんてのも困る。そんなモノ無いか。あるのか!?ぇーどっち?
そういえば今の方法だと、「SCSIで繋がっているUSBコントローラ」とか「SCSIで繋がっているPC Cardコントローラ」を検出できないのだけど、そんなモノあるんですか? 無い気がするんですよ。逆はあるけど。