Mailing List Archive

[PATCH 0 of 9] x86/mm: Memory Sharing Overhaul V2
This patch series proposes a comprehensive overhaul of the
memory sharing code. We include

- Clean ups.
- A reworked locking discipline. We introduce the use of per
page locks to protect additions and removals of gfns to
shared pages. We use RCU to manage a global list of shared
pages used for auditing. The end result is the removal of
the sharing global lock.
- New features:
+ Polling stats via console.
+ More stats: frames that are shared, pages that are saved.
due to sharing
+ New sharing domctl to add a shared page directly to a whole
in the physmap.
+ New sharing domctl to perform audits.
Relevant tools patches sent in a separate series.

A consequence of our modifications is a change to the sharing
API. While we refresh the only user of the sharing API in the
tree, we want to make sure we are not affecting any other
users of the sharing API.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Adin Scannell <adin@scannell.ca>

xen/arch/x86/mm.c | 6 +-
xen/arch/x86/mm/mem_sharing.c | 91 +++--
xen/arch/x86/mm/mem_sharing.c | 560 +++++++++++++++++++------------------
xen/include/asm-x86/mem_sharing.h | 19 +-
xen/include/asm-x86/mm.h | 11 +-
xen/include/public/domctl.h | 3 +
xen/arch/x86/mm/mem_sharing.c | 57 +++-
xen/include/public/domctl.h | 9 +
xen/arch/x86/mm.c | 6 -
xen/arch/x86/mm/mem_sharing.c | 29 +
xen/arch/x86/x86_64/compat/mm.c | 6 +
xen/arch/x86/x86_64/mm.c | 7 +
xen/include/asm-x86/mem_sharing.h | 1 +
xen/include/public/memory.h | 1 +
xen/arch/x86/mm.c | 74 +----
xen/arch/x86/mm/mem_sharing.c | 280 +++++++++++++++++-
xen/arch/x86/mm/mm-locks.h | 31 +-
xen/include/asm-x86/mm.h | 28 +-
xen/arch/x86/mm/mem_sharing.c | 104 +++++++
xen/include/public/domctl.h | 3 +-
xen/arch/ia64/xen/mm.c | 6 +
xen/arch/x86/mm/mem_sharing.c | 8 +
xen/common/keyhandler.c | 7 +-
xen/include/xen/mm.h | 3 +
xen/arch/x86/mm/mem_sharing.c | 15 +-
xen/include/public/domctl.h | 1 +
xen/arch/x86/mm/mem_sharing.c | 83 ++---
xen/arch/x86/mm/mm-locks.h | 18 -
xen/include/asm-x86/mem_sharing.h | 3 +-
29 files changed, 957 insertions(+), 513 deletions(-)

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
[PATCH 0 of 9] x86/mm: Memory Sharing Overhaul V2 [ In reply to ]
This patch series proposes a comprehensive overhaul of the
memory sharing code. We include

- Clean ups.
- A reworked locking discipline. We introduce the use of per
page locks to protect additions and removals of gfns to
shared pages. We use RCU to manage a global list of shared
pages used for auditing. The end result is the removal of
the sharing global lock.
- New features:
+ Polling stats via console.
+ More stats: frames that are shared, pages that are saved.
due to sharing
+ New sharing domctl to add a shared page directly to a whole
in the physmap.
+ New sharing domctl to perform audits.
Relevant tools patches sent in a separate series.

A consequence of our modifications is a change to the sharing
API. While we refresh the only user of the sharing API in the
tree, we want to make sure we are not affecting any other
users of the sharing API.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Adin Scannell <adin@scannell.ca>

xen/arch/x86/mm.c | 6 +-
xen/arch/x86/mm/mem_sharing.c | 91 +++--
xen/arch/x86/mm/mem_sharing.c | 560 +++++++++++++++++++------------------
xen/include/asm-x86/mem_sharing.h | 19 +-
xen/include/asm-x86/mm.h | 11 +-
xen/include/public/domctl.h | 3 +
xen/arch/x86/mm/mem_sharing.c | 57 +++-
xen/include/public/domctl.h | 9 +
xen/arch/x86/mm.c | 6 -
xen/arch/x86/mm/mem_sharing.c | 29 +
xen/arch/x86/x86_64/compat/mm.c | 6 +
xen/arch/x86/x86_64/mm.c | 7 +
xen/include/asm-x86/mem_sharing.h | 1 +
xen/include/public/memory.h | 1 +
xen/arch/x86/mm.c | 74 +----
xen/arch/x86/mm/mem_sharing.c | 280 +++++++++++++++++-
xen/arch/x86/mm/mm-locks.h | 31 +-
xen/include/asm-x86/mm.h | 28 +-
xen/arch/x86/mm/mem_sharing.c | 104 +++++++
xen/include/public/domctl.h | 3 +-
xen/arch/ia64/xen/mm.c | 6 +
xen/arch/x86/mm/mem_sharing.c | 8 +
xen/common/keyhandler.c | 7 +-
xen/include/xen/mm.h | 3 +
xen/arch/x86/mm/mem_sharing.c | 15 +-
xen/include/public/domctl.h | 1 +
xen/arch/x86/mm/mem_sharing.c | 83 ++---
xen/arch/x86/mm/mm-locks.h | 18 -
xen/include/asm-x86/mem_sharing.h | 3 +-
29 files changed, 957 insertions(+), 513 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel