On Mon, Aug 11, 2014 at 10:34:01AM -0700, Matt Rushton wrote:Resent patch set with:
Instead of ballooning up and down dom0 memory this remaps the existing mfnsMatt,
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
Signed-off-by: Matthew Rushton <mrushton@xxxxxxxxxx>
---
Could you provide a summary of v2->v3 changes here?
--msw
arch/x86/xen/p2m.c | 23 +---
arch/x86/xen/p2m.h | 15 ++
arch/x86/xen/setup.c | 370 +++++++++++++++++++++++++++++++++++++++-----------
3 files changed, 314 insertions(+), 94 deletions(-)
create mode 100644 arch/x86/xen/p2m.h