Re: [kvm-devel] [PATCH] export notifier #1



On Wed, 23 Jan 2008, Andrea Arcangeli wrote:

I think it has yet to be demonstrated that doing the invalidate
_before_ clearing the linux pte is workable at all for
shadow-pte/RDMA. Infact even doing it _after_ still requires some form
of serialization but it's less obviously broken and perhaps more
fixable unlike doing it before that seems hardly fixable given the
refill event running in the remote node is supposed to wait on a
bitflag of a page in the master node to return ON. What Christoph
didn't specify after hinting you have to wait for the PageExported
bitflag to return on, is that such page may be back in the freelist by

Why would you wait for the PageExported flag to return on? You remove the
remote mappings, the page lock is being held so no new mappings can occur.
Then you remove the local mappings. A concurrent remote fault would be
prevented by the subsystem which could involve waiting on the page lock.

Until there's some more reasonable theory of how invalidating the
remote tlbs/ptes _before_ the main linux pte can remotely work, I'm
"quite" skeptical it's the way to go for the invalidate_page callback.

Not sure that I see the problem if the subsystem prevents new references
from being established.

Like Avi said, Xen is dealing with the linux pte only, so there's no
racy smp page fault to serialize against. Perhaps we can add another
notifier for Xen though.

Well I think we need to come up with a set of notifiers that can cover all
cases. And so far the export notifiers seem to be the most general. But
they also require more intelligence in the notifiers to do proper
serialization and reverse mapping.

But I think it's still not enough for Xen to have a method called
before the ptep_clear_flush: rmap.c would get confused in
page_mkclean_one for example. It might be possible that vm_ops is the

Why would it get confused? When we get to the operations in rmap.c we
just need to be sure that remote references do no longer exist. If the
operations in rmap.c fail then we can reestablish references on demand.

right way for you even if it further clutters the VM. Like Avi pointed
me out once, with our current mmu_notifiers we can export the KVM
address space with remote dma and keep swapping the whole KVM asset
just fine despite the triple MMU running the system (qemu using linux
pte, KVM using spte, quadrics using pcimmu). And the core Linux VM
code (not some obscure hypervisor) will deal with all aging and VM
issues like a normal task (especially with my last patch that reflects
the accessed bitflag in the spte the same way the accessed bitflag is
reflected for the regular ptes).

The problem for us there is that multiple references may exist remotely.
So the actual remote reference count needs to be calculated?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [kvm-devel] [PATCH] export notifier #1
    ... We need to invalidate mappings on a remote ... dropping the main linux pte not before, or you never know what else is ... secondary mmu must call back to the exporting machine in order to ... The approach with the export notifier is page based not based on the ...
    (Linux-Kernel)
  • Re: Serialization will not deserialize delegates to non-public methods (standard method call; not in
    ... This includes the delegates for the events you have. ... > subscribing to them from the client. ... Maybe just holding a remote delegate ... > System.Runtime.Serialization.SerializationException: Serialization will ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: [kvm-devel] [PATCH] export notifier #1
    ... The remote page fault is exactly the thing that has to wait on the ... new references to be established. ... ptes could reenable establishing new references. ...
    (Linux-Kernel)
  • Re: Will some expert please answer this question?
    ... > preference documents and re-booting, re-installing Excel, etc. ... the remote references feature was creating some ...
    (microsoft.public.mac.office.excel)
  • Re: Unable to save drawings
    ... I have tried both saving locally and on a remote ... I can also create multi-page drawings with no off- ... page references and it saves okay. ... (without the SP2 update) ...
    (microsoft.public.visio.troubleshoot)