[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:22873] Re: Plamo4.0β3+SATA



From: "MATSUMOTO Koichi // matu'ko" <matuko@mcu.or.jp>
Subject: [plamo:22815] Re: Plamo4.0β3 + SATA
Date: Sat, 22 May 2004 14:39:16 +0900

> | 認識してくれましたが、その後のkernelのアップで認識しなくなりました。今は
> | scsiとして使用しています。こちらは速いです。Silicon Imageのほうは、ATAの方で
> | 使用してみましたが、不安定でスピードも全然でした。scsiのほうでは試していませんが。
> | kernelは2.6.xです。hdparmでいろいろやってみましたがあきらめました。
> | ご参考までに。
> 
>   SiliconImage 3112/3114ですが、
> 
>   http://www.ussg.iu.edu/hypermail/linux/kernel/0405.1/0425.html
> 
>   によると、カーネルメーリングリストに流れたパッチを当てれば
> status Production だ、となってますから、素のままではだめなのかも
> 知れません。
> 
>   > Need to have the most recent fixes posted to lkml, 
>   > for stableoperation and full performance (where possible).
> 
>   ということなのですが、結構な数のパッチがあるのかしらん?
> 
>   libataの方は、Betaのまんまなので、より一層不安定なのかも。
> 

この件,結構悪戦苦闘したけど,何とか APIC + libata な組み合わせで安定
に動作するようになりました > sa3112a

多分,マザーボードとの組み合わせみたいな問題があると思いますが,手元の
環境では,IDE なドライバ(CONFIG_BLK_DEV_SIIMAGE)だと sa3112a なカード
が正しく DMA が取れないため,ディスクアクセスが発生するとハングしてし
まうようでした.

# IDE なドライバを使っている時も,ごくまれに DMA が取れて正常に動作す
# ることがあったので,動作検証にずいぶん手間がかかってしまった..

いろいろ試行錯誤した結果,2.6.6 カーネルを使って,APIC を使って割り込
みを処理し,SCSI 側のドライバを libata 経由で利用する,という形で 
sa3112a なカードが安定に動作するようになりました.

速度的にはこんな感じ.

bash-2.05b# ./hdparm -Tt /dev/sda

/dev/sda:
 Timing buffer-cache reads:   1272 MB in  2.00 seconds = 635.14 MB/sec
 Timing buffered disk reads:  164 MB in  3.02 seconds =  54.31 MB/sec

VIA のチップにつながっている IDE な HDD だとこんな感じでした.

/dev/hdb:
 Timing buffer-cache reads:   1268 MB in  2.00 seconds = 633.78 MB/sec
 Timing buffered disk reads:  138 MB in  3.04 seconds =  45.36 MB/sec

buffer-cache の方は UDMA が律速になっているのでほぼ同じ,disk reads の
方は,SATA な HDD の方が多少新しい分,少しだけ速いかな,って感じですか.

ちなみに dmesg の該当部分はこんな感じでした.

hda: 160836480 sectors (82348 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100)
 hda: hda1
hdb: max request size: 128KiB
hdb: 120103200 sectors (61492 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100)
 hdb: hdb1 hdb2 hdb3 hdb4
hdd: max request size: 128KiB
hdd: 120103200 sectors (61492 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100)
 hdd: hdd1
libata version 1.02 loaded.
sata_sil version 0.54
ata1: SATA max UDMA/100 cmd 0xF882E080 ctl 0xF882E08A bmdma 0xF882E000 irq 18
ata2: SATA max UDMA/100 cmd 0xF882E0C0 ctl 0xF882E0CA bmdma 0xF882E008 irq 18
ata1: dev 0 cfg 49:2f00 82:74eb 83:7fea 84:4023 85:74e9 86:3c02 87:4023 88:203f
ata1: dev 0 ATA, max UDMA/100, 321672960 sectors: lba48
ata1: dev 0 configured for UDMA/100
scsi0 : sata_sil
ata2: no device found (phy stat 00000000)
scsi1 : sata_sil
  Vendor: ATA       Model: HDS722516VLSA80   Rev: V34O
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 321672960 512-byte hdwr sectors (164697 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0

これで,SATA な HDD は /dev/sda[12] として見えてますね.

# DMA と割り込みが関係していたので,ずいぶん動作確認に時間がかかってし
# まった.特に IDE なドライバでも気まぐれに動作したから,その条件を求
# めようと四苦八苦してしまった..

--------
こじま

References
[plamo:22798] Re: Plamo4.0β3+SATA, Shigeo Sagai
[plamo:22799] Re: Plamo4.0β3+SATA, Tateyama
[plamo:22815] Re: Plamo4.0β3+ SATA, MATSUMOTO Koichi // matu'ko

[検索ページ] [メール一覧]
Plamo ML 公開システム