Messages in this thread | | | Date | Mon, 11 Aug 2014 10:40:44 -0700 | From | Matthew Rushton <> | Subject | Re: [PATCH v2 2/2] xen/setup: Remap Xen Identity Mapped RAM |
| |
On 08/01/14 08:56, Boris Ostrovsky wrote: > On 08/01/2014 11:52 AM, Matt Wilson wrote: >> On Fri, Aug 01, 2014 at 03:52:28PM +0100, David Vrabel wrote: >>> On 31/07/14 18:43, David Vrabel wrote: >>>> On 20/07/14 01:01, Matt Rushton wrote: >>>>> Instead of ballooning up and down dom0 memory this remaps the >>>>> existing mfns >>>>> that were replaced by the identity map. The reason for this is >>>>> that the >>>>> existing implementation ballooned memory up and and down which >>>>> caused dom0 >>>>> to have discontiguous pages. In some cases this resulted in the >>>>> use of bounce >>>>> buffers which reduced network I/O performance significantly. This >>>>> change will >>>>> honor the existing order of the pages with the exception of some >>>>> boundary >>>>> conditions. >>>>> >>>>> To do this we need to update both the Linux p2m table and the Xen >>>>> m2p table. >>>>> Particular care must be taken when updating the p2m table since >>>>> it's important >>>>> to limit table memory consumption and reuse the existing leaf >>>>> pages which get >>>>> freed when an entire leaf page is set to the identity map. To >>>>> implement this, >>>>> mapping updates are grouped into blocks with table entries getting >>>>> cached >>>>> temporarily and then released. >>>>> >>>>> On my test system before: >>>>> Total pages: 2105014 >>>>> Total contiguous: 1640635 >>>>> >>>>> After: >>>>> Total pages: 2105014 >>>>> Total contiguous: 2098904 >>>> Applied to devel/for-linus-3.17 >>> Unfortunately, this produces too many WARNINGs on some boxes or >>> with certain configurations. >> Hi David, >> >> Do you have more information about the systems or configurations that >> showed a problem? >> > > > This appears to be happening on 32-bit dom0. > > -boris
I just pushed a v3 version of the patch set which should fix the issue. There was casting issue that would affect 32-bit builds.
| |