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

Re: src/etc/Makefile



>pmap_enter_pv() は最初の mapping かどうかを返す (今は bug っていま
>すが) ので, 既に !VM_PROT_EXECUTE な mapping が存在したら icache を 
>invalidate しない, ということになります.  これは意図した動作でしょうか?

たぶん私が手元ソースにいれたバグを筒井さんがそのまま見逃されたのだと
思います。

ところで質問なんですが、元のコードでは「一度実行されたページを変更
(してまた実行)するときは必ずそのページの全てのマッピングが解除される」
ことを前提にしているわけですが、この仮定は常に真でしょうか。

もひとつ、syncicache は重めの処理(pmap_removeに次いで2番目)なので
できるだけ避けたいわけですが、どうするのがよさそうでしょうか。

・もとのコードに戻す
・if (pmap_enter_pv()) の外に出す
・そのページの pv をたどって最初の EXEC だったら syncicache
・その他
  …