Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On 11/08/14 18:34, 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. Applied to devel/for-linus-3.18. Patch #1 is already present in 3.17-rc1. Thanks. David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On 11/08/14 18:34, 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. Applied to devel/for-linus-3.18. Patch #1 is already present in 3.17-rc1. Thanks. David -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On 08/11/14 10:41, Matt Wilson wrote: On Mon, Aug 11, 2014 at 10:34:01AM -0700, 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 Signed-off-by: Matthew Rushton --- Matt, 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 Resent patch set with: v3: One line change to fix 32-bit mfn casting issue with MMU_MACHPHYS_UPDATE -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On Mon, Aug 11, 2014 at 10:34:01AM -0700, 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 > > Signed-off-by: Matthew Rushton > --- Matt, 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On 11/08/14 18:34, 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. What's changed in this version? David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On 11/08/14 18:34, 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. What's changed in this version? David -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On Mon, Aug 11, 2014 at 10:34:01AM -0700, 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 Signed-off-by: Matthew Rushton mrush...@amazon.com --- Matt, 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 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 2/2] xen/setup: Remap Xen Identity Mapped RAM
On 08/11/14 10:41, Matt Wilson wrote: On Mon, Aug 11, 2014 at 10:34:01AM -0700, 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 Signed-off-by: Matthew Rushton mrush...@amazon.com --- Matt, 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 Resent patch set with: v3: One line change to fix 32-bit mfn casting issue with MMU_MACHPHYS_UPDATE -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/