On Mon, Dec 06, Olaf Hering wrote:
> Update the machine_to_phys_mapping[] array during page-in. The gfn is
> now at a different page and the array has still INVALID_M2P_ENTRY in the
> index.
Does anyone know what the "best" location for this array update is?
p2m_mem_paging_prep() allocates a new page for the guest and assigns a
gfn to that mfn. So in theory the array could be updated right away,
even if the gfn will still have a p2m_ram_paging_* type until
p2m_mem_paging_resume() is called.
Olaf
> --- xen-unstable.hg-4.1.22459.orig/xen/arch/x86/mm/p2m.c
> +++ xen-unstable.hg-4.1.22459/xen/arch/x86/mm/p2m.c
> @@ -2827,6 +2827,7 @@ void p2m_mem_paging_resume(struct p2m_do
> mfn = gfn_to_mfn(p2m, rsp.gfn, &p2mt);
> p2m_lock(p2m);
> set_p2m_entry(p2m, rsp.gfn, mfn, 0, p2m_ram_rw);
> + set_gpfn_from_mfn(mfn_x(mfn), gfn);
> audit_p2m(p2m, 1);
> p2m_unlock(p2m);
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|