Second naive question about map operation
Marcus Völp
voelp at os.inf.tu-dresden.de
Fri Dec 5 11:29:38 CET 2003
Jean Wolter wrote:
>PS: I forgot a really nasty interaction with grant. If I take the
>example of the other thread:
>
> A
> / \
> B C
>
>Assuming A doesn't know that B constructed the dependency between A
>and C (either using map/grant or co-equal mapping) and A unmaps the
>page only in the address space of B there is still the mapping in the
>address space of C.
>
>So to make unmap(page, adress space) actually usable you would need a
>possibility to prohibit the grant operation for a page.
>
>
All you need is to be able to identify the mapping even if it has been
granted away. The question is more how to engineer the mapping database
such that the unmap (page_A, B) is possible. One way would be to add a
second address space field into the mapping node.
I think the harder problem is to select the appropriate mapping. First,
the page has to be specified as an address in A, since A usually does
not know about B's address space layout (small receive flexpage). This
however would mean to search through all children of A which would be
very costly in most mdb implementations (dfs sorted the linked list
based ones).
Marcus
More information about the l4-hackers
mailing list