ZBOX nano VD01のHDDが遅い
めでたく起動したZBOXですが、使っていてどうもディスクが遅い気がしてなりません。
で、ひとつ覚えのdbenchを走らせてみたところ、
Throughput 13.9741 MB/sec 5 procs
という結果。なんだこれ、KVM上のNetBSDより遅いじゃないか!
よく見ると、ディスクのドライバがpciideというgenericなドライバが使われていて、しかもPIOで動いているっぽいメッセージ。
一方で、本来使われるべきviaideドライバは認識されていないということで、viaideのソースを見たところ、どうやらチップセットを登録してあげないといけないようです。
ということで、以下のような修正を加えました。
Throughput 63.8846 MB/sec 5 procs
ということで4.5倍程度高速になりました!
で、ひとつ覚えのdbenchを走らせてみたところ、
Throughput 13.9741 MB/sec 5 procs
という結果。なんだこれ、KVM上のNetBSDより遅いじゃないか!
よく見ると、ディスクのドライバがpciideというgenericなドライバが使われていて、しかもPIOで動いているっぽいメッセージ。
一方で、本来使われるべきviaideドライバは認識されていないということで、viaideのソースを見たところ、どうやらチップセットを登録してあげないといけないようです。
ということで、以下のような修正を加えました。
--- sys/dev/pci/viaide.c.orig 2012-02-07 01:08:45.000000000 +0000 +++ sys/dev/pci/viaide.c 2012-02-07 08:01:25.000000000 +0000 @@ -345,6 +345,11 @@ "VIA Technologies VT8237S SATA Controller", via_sata_chip_map_7, }, + { PCI_PRODUCT_VIATECH_VX900_SATA, + 0, + "VIA Technologies VX900 SATA Controller", + via_chip_map, + }, { 0, 0, NULL, --- sys/dev/pci/pcidevs.orig 2011-10-19 00:21:35.000000000 +0000 +++ sys/dev/pci/pcidevs 2012-02-07 01:08:04.000000000 +0000 @@ -4676,6 +4677,7 @@ product VIATECH VT82C597AGP 0x8597 VT82C597 (Apollo VP3) CPU-AGP Bridge product VIATECH VT82C598AGP 0x8598 VT82C598 (Apollo MVP3) CPU-AGP Bridge product VIATECH VT8605AGP 0x8605 VT8605 (Apollo ProMedia 133) Host-AGP Bridge +product VIATECH VX900_SATA 0x9001 VX900 SATA Controller product VIATECH K8T890_PPB_A238 0xa238 K8T890 PCI-PCI Bridge product VIATECH VT8633AGP 0xb091 VT8633 (Apollo Pro 266) CPU-AGP Bridge product VIATECH VT8366AGP 0xb099 VT8366 (Apollo KT266) CPU-AGP Bridgeすると、
viaide0 at pci0 dev 15 function 0: VIA Technologies VX900 SATA Controller (rev. 0x00) viaide0: VIA Technologies unknown VIA ATA controller viaide0: bus-master DMA support present viaide0: primary channel configured to native-PCI mode viaide0: using ioapic0 pin 21 for native-PCI interruptてな感じで認識され、dbenchも
Throughput 63.8846 MB/sec 5 procs
ということで4.5倍程度高速になりました!
- TB-URL http://www.tokuda.net/diary/0776/tb/
1: tsutsui 2012年02月15日(水) 深夜0時36分
wd0 の attach message で UDMA が使われているかどうかが気になるんですが、
http://www.ceres.dti.ne.jp/tsutsui/netbsd/vx900.diff
代わりにこれ↑試してもらえませんか。
OpenBSDからするとドライバ的にはP-ATAに見えてるっぽいです
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/pciide.c.diff?r1=1.325;r2=1.326;f=h