今更ながらlibataを導入した

久々に我が家のデスクトップ Gentoo マシンをいじったので、メモしときます。
我が家のデスクトップは Raid1 構成の IDE ハードディスクをくっつけてます。
マザーボードは Albatron PX915G。
Raidコントローラーは IT8212 です。

で、新しいkernelを再構築して起動すると、ハードディスクへのアクセスが恐ろしく遅くなってしまいました。
dmesg の出力を見ると、"dma not selected" と出ています。
dmaが無効になってしまっているようです。
ちなみにmake menuconfigでkernelの再構築時にコンパイルしたドライバーは以下の通りです。
 Device Drivers  --->
   ATA/ATAPI/MFM/RLL support  --->
         IT821X IDE support

同じような事で悩んでいる人もいるようで、kernelのメーリングリストでも数年前に話題になっていたようです。
Re: IT821x: no DMA since 2.6.21

上記で組み込んだドライバーはメンテナンスされていないのでlibataを使うのが良いとか書いてあります。
libataはSerialなハードディスクだけの話かと思っていたのですが、parallelなハードディスクでも利用できるんですね。

make menuconfigで上記のドライバーをはずして、下記のドライバーを組み込みます。
 Device Drivers  --->  
  Serial ATA (prod) and Parallel ATA (experimental) drivers
    IT8211/2 PATA support   

我が家のPCでは IT8212経由のハードディスクは hde として認識されていました。
libataを使うことで、sda に変わったことが今回の変更の副作用です。
長らくハードディスクデバイスと言えばhd〜だったので、暫く違和感がありそう。
(OpenBSDのwd〜も暫く慣れなかったけど)

ハードディスクデバイスが /dev/sda に変わったので /boot/grub/grub.conf と /etc/fstab も忘れずに変更しましょう。

Comment