From: "Hidetoshi Shimokawa" <[EMAIL PROTECTED]>
Subject: [FreeBSD-users-jp 90752] Re: fwohci0: IR DMA overrun (0x40008011)
Date: Sun, 10 Jun 2007 23:05:00 +0900

> > 数分間試した感じではこんな感じです。NCHUNKのみを大きくしてみました。
> >
> > 1. NCHUNKはいくら大きくしても、USB storage相手の読み書き(でかいファイ
> >    ルのcp)と並行してfwcontrol -Rしていると、overrunが起きるまでの時間
> >    が長くなるもののいずれ、連続して取りこぼすようになる。
> 
> これは、 fwcontrol -R で書き込んでいる disk と USB storage 間の転送でしょうか?

違います。意識したわけではありませんが、違うHDとの転送でした。

> このとき top や ps での STATE MWCHAN は何になっていることが
> 多いでしょうか?  これを見ると、 どこで block されているのかわかります。

wdrainという表示が多いようです。

> > 2. fwcontrol -R中にdd if=/dev/zero of=hoge bs=32mを同じHDに対して実行。
> >    NCHUNK=32ぐらいだと、回数は減るがやっぱりoverrunが発生。NCHUNK=64に
> >    すると出なくなった。なお、実験に使ったHDは
> > ad0: 238475MB <HDS722525VLAT80 V36OA6MA> at ata0-master UDMA100
> 
> まあ、 これをやると、 disk i/o になんらかのプライオリティを付けてあげないかぎりは
> なかなか難しいですね。 一時的なdisk 帯域の低下は buffer を増やすことで
> 対処できますが、 入ってくるレートが出ていくレートより大きくなると、 遅かれ早かれ
> あふれます。

それはもちろんそうでしょうね。とはいえ、NCHUNKを増やして一時的な
diskI/Oの帯域低下の場合ののframe取りこぼしを防げるならそれは嬉しいです。

> 1点だけ確認させてください, fwohci と IRQ を share しているものはありますか?
> (例えばUSBとか)

よく分かっていないのですけど、OS起動時のメッセージで
fwohci0: <VIA Fire II (VT6306)> port 0xbc00-0xbc7f mem 0xfeafe800-0xfeafefff 
irq 22 at device 1.0 on pci3
fwohci1: <VIA Fire II (VT6306)> port 0xb000-0xb07f mem 0xfeafe000-0xfeafe7ff 
irq 17 at device 2.0 on pci3
とあるところのirqが22とか17と同じ番号のがあるかどうかということでしょ
うか。

とすると、
ichsmb0: <Intel 82801EB (ICH5) SMBus controller> port 0xc800-0xc81f irq 17 at 
device 31.3 on pci0
があります。が、前メールでの実験では、fwohci0の方しか使いませんでした。

USBは
uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xcc00-0xcc1f irq 16 at 
device 29.0 on pci0
uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xd000-0xd01f irq 19 at 
device 29.1 on pci0
uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xd400-0xd41f irq 18 at 
device 29.2 on pci0
uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xd800-0xd81f irq 16 at 
device 29.3 on pci0
ということで、違うみたいです。

> あと, AV/C という AV機器を FireWire からコントロールする規格があるのですが、
> 最近の6-stable と 7-current で動く, 実験的なコードがあります。
> どなたかテストしていただける方がいたら、 私のほうまでメールを頂けたらと思います。
> (どのような機器があるかの情報を含めて)
> 実際テストをお願いするのは、 しばらく先になるかもしれませんが。。。。

RELENGに入っているのだったら実験しても構いません。
といっても、AV/CとかいうのはGV-MVP/IDVのチャンネル変更を実現するために
色々調べている途中でみたkeywordという以上のことは知らないので、そもそ
もテストが出来るだけの知識があるのか疑問ですが…^^;
その、チャンネル変更もなぜ正しく動いているのか理解せずに使っている状態
でして。^^;

青木和麻呂@神奈川県在住

メールによる返信