気まぐれSE日記

地方でエンジニアしてます

NEC Express5800 Ra-1h のSATAモード

素のままこのハードにLinuxをインストールすると、DMAが有効にならないです。
このためのDMAが有効にならない場合の対処法はこちら↓↓(たはは、これは見落としていたわ)
http://www.express.nec.co.jp/linux/distributions/confirm/110Ra-1h/110Ra-1h_ES4-U3.html

私の場合、実際インストールしたOSがRedHatじゃなくてTLS10 です。
インストール後、SATAのDMAが有効にならないから変だなとは思ってましたが、
いままで動いてるからヨシとしていました。

BIOSの設定を変えないと行けないなんて気がつかなかったです。
これとMaxtorのディスクが壊れるのとは関係ないと思いますけどね...。

BIOS設定変更手順
起動時にF1キーで、BIOSセットアップメニューに入る。
Advancedメニューを開く。
Integrated Peripherals を選択。
On Chip IDE Device を選択し、次の設定を行う。
On-Chip Serial ATA : Combined Mode
PATA IDE Mode : Secondary


なぜCombinded Modeにしないとダメというのは、Enhanced ModeでOSセットアップするとハングするので
わかってました。(デフォの設定は確かCombineだったと思う。)
ただ、PATA IDE Mode : Secondary なんてのは普通ないよなぁ、普通に考えるとPrimaryにするはず...。


しかもこれをやると、既に構築したサーバのOSは入れ直さないとダメかもしれないです。
ていうのは、/dev/hda ⇒ /dev/sda としてSCSIバイスとして見えるようになるらしい??

sda だとhdparm でみれないような...



もう既に10台以上デフォの設定でインスト済みですし、壊れない限り無理だわ...
ショックや。



オマケ 性能的にどれくらい違うのかというと

↓DMAが無効なとき


/dev/hdb:

Model=Maxtor 7V250F0, FwRev=VA111630, SerialNo=V599G25G
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=16384kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4
ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

* signifies the current active mode

Timing cached reads: 1934 MB in 2.00 seconds = 966.66 MB/sec
Timing buffered disk reads: 22 MB in 3.16 seconds = 6.97 MB/sec

↓DMAが有効なとき


/dev/sdb:

Model Number: Maxtor 7V250F0
Serial Number: V593KTPG
Firmware Revision: VA111630

LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Advanced power management level: unknown setting (0x0000)
Recommended acoustic management value: 192, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns

Timing cached reads: 1966 MB in 2.00 seconds = 982.66 MB/sec
Timing buffered disk reads: 198 MB in 3.00 seconds = 65.99 MB/sec

DMAがうまく効いてないと思われる方(前者)は、
buffered read が10分の1と、ひっじょーに遅い。