On Mon, 23 Jul 2012 14:19:31 +0200 Norman Feske (NF) wrote:
NF> > So you'd need something like a "directed revoke" feature. We had NF> > something like that in Fiasco-V2, where you could do an "unmap NF> > without self" and additionally specify a task number. Only child NF> > mappings for that task and its children would be removed. In the NF> > NOVA case, you'd specify a PD capability instead of a task number. NF> NF> that's what I'm after.
There are some subtle corner cases possible if revoke gets preempted. One is that if you do a revoke (range, PD-cap), the range obviously cannot go away, but the PD-cap can. This means if you do a directed revoke by specifying a PD-cap, and the PD-cap (or the PD) goes away in the middle of a preempted revoke, the remainder of the revoke would fail to look up the PD and do a full revoke of the range instead.
Alternatively you'd have to hold onto the PD-cap while a revoke with that PD-cap is ongoing, which is hardly any better.
Cheers, Udo