[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
・その他
…