[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: src/etc/Makefile
Tsubai Masanari <tsubai@iri.co.jp> writes:
> ところで質問なんですが、元のコードでは「一度実行されたページを変更
> (してまた実行)するときは必ずそのページの全てのマッピングが解除される」
> ことを前提にしているわけですが、この仮定は常に真でしょうか。
少なくとも ubc window への mapping は cache されて残っているようです.
ld.elf_so/reloc.c なんかは, exec map したまま変更しているように読めま
すが, 勘違い?
> もひとつ、syncicache は重めの処理(pmap_removeに次いで2番目)なので
> できるだけ避けたいわけですが、どうするのがよさそうでしょうか。
>
> ・もとのコードに戻す
> ・if (pmap_enter_pv()) の外に出す
> ・そのページの pv をたどって最初の EXEC だったら syncicache
> ・その他
> …
pmap_enter() の度に syncicache をする必要があるとしたら, それは既に手
遅れで, 変更したときにしておかないといけない筈ですよね. ですから,
enter に関しては最初の exec mapping だったら, でよさそうに思います.
enami.