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

[pbsd-mg2] Re: presario 213



Noriyuki Soda <soda@sra.co.jp> writes:
> kseg0 との alias が問題になるとすると、pmap の変更だけで問題を解決する
> のは難しいですよね? でも、kseg0 を uncached にするのは、性能的に耐え
> がたいと思うので。

昔実験したときには、全部uncachedで動作させると、100MIPSのマシンが1MIPSく
らいになっていました。

性能低下の度合いはメインメモリの速度とCPUの速度の比で決まると思いますが、
最近のマシンでも二桁以上は性能が落ちると考えていいと思います。したがって、
uncachedにしてvirtual aliasを避けるのは最後の手段であると考えています。

当面の回避策(ないしは、virtual aliasの問題で動作がおかしいかどうかを確認
するための手段)としてuncachedを使うのは有効であると思いますが、kseg0を
cachedのままにしておくと、kseg0経由でデータを書いた物理ページの内容が、
TLBでマップされたuncachedのアドレスから正しく読めないために別の問題が発
生するのではないかと懸念しているわけです。(cacheの内容がwrite backされる
までuncachedアクセスでは書き込まれた内容が読めません。)

こういう余計な心配をしなくて済むように、kseg0もuncachedにしておいたほう
が安全かな?と思ったのですが、私はまだNetBSDのVMを全然理解していないので、
杞憂なのか、現実的な心配なのかわかりませんでした。

篠原