Kaz Kojima
kkoji****@rr*****
2004年 11月 9日 (火) 09:39:40 JST
小島です。 HOSOBUCHI <hoso****@ce*****> wrote: > DMA が動く設定がわかりました。(CONFIG_SH_PCIDMA_NONCOHERENT=y が必要) > > とりあえず、オリジナルのカーネルと差し替えて同じ動作となるようになりまし > た。オリジナルの module を利用して NIC や USBも確認できています。 > > 私の .config を添付します。 私も IDE で DMA が使えるようになりました。 ありがとうございます。 > 最初は LANDISK でセルフコンパイルしていたのですが、さすがにカーネルフル > ビルドに1時間近くかかるので、最後はクロスコンパイルに移ってしまいました( > これだと5分かからない) > クロック比だとこんなに差は出ないと思うのですが、キャッシュの小さいのが > 影響しているのでしょうか? ここのメンバーには釈迦に説法という気がするしまともな数字もない のですが (a) キャッシュが小さい+2次以上のキャッシュがない (b) キャッシュエイリアスの問題がある (c) キャッシュでフェッチがかかるとキャッシュにアクセスできない(らしい) (d) 実メモリが大きくない(今となっては) あたりでしょうか? (a) はやはりでかいと思います。 まあ消費電力と の兼ね合いなので仕方のないところなのでしょうけれど... (c) は全部 のコアでそうかは知らないのですが実質 prefetch 命令とかが無意味と いうことなのでちょっと悲しいです。 (b) は元々 OS の VM をそれ向きに書いていないとあちこちでせっかく のキャッシュの内容を全部チャラにするはめになるのでこれも苦しい ところだと思います。 以前命令セット自体は MIPS4xxx 系なんだけど (a)-(d) の問題のない石というのを触ったことがあるんですが x86 と 比較してほぼクロック比通りの実力がでてました。 最近一番痛いのは (d) だという気がしてます。 gcc なんかもどんどん メモリ食うようになっていまや 256MB のマシンが化石扱いです。:-)