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

Re: src/etc/Makefile



>uvm_bio.c をみると, 普通に pmap_enter/remove もしているみたいです.

これが UBC 周りでは pmap_enter_pv() される唯一の状態 (なので
syncicache される) のかなと思っていたんですが素人の思い込み
かも。

>top directory から探さないといけませんね.  でもここで自分でやっている
>ということは, やっぱり kernel は面倒みてくれないということでしょうか.

ここはユーザーランドで書いてるのでカーネルは面倒みてくれません。
i-cache はスヌープしませんからハードウェアも何もしません。
pmap_enter() で syncicache してるのはカーネルで書いた分を
ユーザーランドに渡す(つまり実行する)前にまとめて同期してる
んだと認識しています。 # まとめてないか:-)

でも pmap_enter() ではすでに本当に書いたのかどうかわからな
いんですよね。だから書き終わったときに uvm がやってくれると
うれしい。:-)

>実行 file には書けない筈ですし, 他になにか思いあたりますか?

ディスク読み込みなどでカーネル内で書き込む場合が本当にない
のかがちょっと不安です。まあ今のところは大丈夫みたいですが。
(と言っても動いてるから大丈夫か…という程度なんだけど)

あるプロセスのページがどこか別の場所にも pmap_enter() されて
いて、そのままそのページを(上書きして)再利用したら、問題が
起きるわけですが、そんなことは起きないのかな。起きないことが
保証されているのなら安心なんですけど。