[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.