Second naive question about map operation
Jean Wolter
jean.wolter at inf.tu-dresden.de
Thu Dec 4 21:22:40 CET 2003
"Jonathan S. Shapiro" <shap at eros-os.org> writes:
> A second naive question.
>
> Imagine that thread A performs separate map operations to each of B and
> C (maps of the same thing). This results in a dependency relationship of
> the form:
>
> A
> / \
> B C
>
> Given that these operations have happened, is there a way for A to
> revoke the mapping held by B without also revoking the mapping held by
> C?
No.
> Does it matter?
In the context of L4Linux we discussed whether it would be useful to
be able to unmap pages in a certain address space. It could be used
during execve to unmap pages of the child process while leaving the
mapping of the parent intact. And there are a lot of shared pages like
pages from shared libraries which should be unmapped only in the
one process.
We are able to ignore the problem because we:
- track which pages are actually mapped and reduce the necessary
unmap operations
- handle process termination and execve in a special way. We don't
unmap the pages, we kill the address space instead.
So I think this is a useful operation.
Regards,
Jean
More information about the l4-hackers
mailing list