Re: [PATCH 1/2] Xen: Delay remapping memory of pv-domain

From: Juergen Gross
Date: Wed Oct 29 2014 - 01:44:15 EST


On 10/29/2014 06:30 AM, Juergen Gross wrote:
On 10/28/2014 06:34 PM, David Vrabel wrote:
Can these patches be split up? They're hard to review as-is. e.g., the
changes to page allocation look they could be split out.

On 27/10/14 14:52, Juergen Gross wrote:
Early in the boot process the memory layout of a pv-domain is changed
to match the E820 map (either the host one for Dom0 or the Xen one)
regarding placement of RAM and PCI holes. This requires removing memory
pages initially located at positions not suitable for RAM and adding
them later at higher addresses where no restrictions apply.

How does this impact Matt Rushton's recent change to ensure the
relocated frames are contiguous?

It is simplifying it. :-)

The relocated frames are in the same sequence as before, just at
another location. As the remapping is done later, I don't have to be
careful not to cross a p2m leaf page boundary (allocating a new leaf
page is no problem now).


The change was "xen/setup: Remap Xen Identity Mapped RAM" (4fbb67e3c87).

+ /* Update kernel mapping */
+ if (HYPERVISOR_update_va_mapping((unsigned long)__va(pfn <<
PAGE_SHIFT),
+ mfn_pte(mfn, PAGE_KERNEL), 0)) {
+ WARN(1, "Failed to update kernel mapping for mfn=%ld
pfn=%ld\n",
+ mfn, pfn);
+ return 0;

I think you need to check if this is a PFN for a high page before
updating the mapping.

Really? I'm not aware of having removed such a check. If it is really
necessary it must have been missing before...

Wait, now I see my fault: by doing the remapping later I've skipped the
highmem check during adding the memory to the system. Okay, I'll update
the patch.


Juergen

--
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/