[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 0 of 5] p2m synchronization groundwork



This patch series lays the groundwork for improving the synchronization
of primitives accessing the p2m.

This is a partial repost of the patches emailed previously as a RFC. 
These patches are now intended for committing to the tree.

We change the API for accessing the p2m to a family of functions
get_gfn/put_gfn. The name intends to reflect the fact that even lookups
are meant to obtain exclusive access to a p2m entry, and that said access
should be relinquished (put_gfn) when done.

The patches, however, alter little functionality. The API name change 
does not involve yet additional locking or ref-counting. They will, however,
throw a "barrier" that will force any new commits to conform to the new API.

Patches are based off 24066:54a5e994a241. Should the new XENMEM calls be 
accepted before this, the series needs to be updated to also change the API
there.

Signed-off-by: Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx>

 xen/arch/x86/mm/mm-locks.h         |   27 ++++-
 xen/arch/x86/mm/mm-locks.h         |   46 +++++++++++
 xen/arch/x86/mm/mm-locks.h         |   12 ++
 xen/arch/x86/mm/p2m-pod.c          |   40 ++++++---
 xen/include/asm-x86/domain.h       |    3 +
 xen/include/asm-x86/p2m.h          |    5 +
 xen/arch/x86/mm/p2m.c              |   38 +++++++++
 xen/include/asm-x86/p2m.h          |   40 +---------
 xen/arch/x86/cpu/mcheck/vmce.c     |    9 +-
 xen/arch/x86/debug.c               |   17 ++-
 xen/arch/x86/domain.c              |   27 +++++-
 xen/arch/x86/domctl.c              |   15 ++-
 xen/arch/x86/hvm/emulate.c         |   29 ++++++-
 xen/arch/x86/hvm/hvm.c             |  133 +++++++++++++++++++++++++------
 xen/arch/x86/hvm/mtrr.c            |    2 +-
 xen/arch/x86/hvm/nestedhvm.c       |    2 +-
 xen/arch/x86/hvm/stdvga.c          |    4 +-
 xen/arch/x86/hvm/svm/nestedsvm.c   |   12 +-
 xen/arch/x86/hvm/svm/svm.c         |   11 +-
 xen/arch/x86/hvm/viridian.c        |    8 +-
 xen/arch/x86/hvm/vmx/vmx.c         |   15 ++-
 xen/arch/x86/hvm/vmx/vvmx.c        |   13 ++-
 xen/arch/x86/mm.c                  |  153 +++++++++++++++++++++++++++++-------
 xen/arch/x86/mm/guest_walk.c       |   30 +++++-
 xen/arch/x86/mm/hap/guest_walk.c   |   16 ++-
 xen/arch/x86/mm/hap/nested_hap.c   |   15 ++-
 xen/arch/x86/mm/mem_event.c        |   23 ++++-
 xen/arch/x86/mm/mem_sharing.c      |   27 +++++-
 xen/arch/x86/mm/p2m-pod.c          |   19 ++-
 xen/arch/x86/mm/p2m-pt.c           |    6 +-
 xen/arch/x86/mm/p2m.c              |   34 ++++---
 xen/arch/x86/mm/shadow/common.c    |    6 +-
 xen/arch/x86/mm/shadow/multi.c     |   85 ++++++++++++++-----
 xen/arch/x86/mm/shadow/types.h     |   10 +-
 xen/arch/x86/physdev.c             |    8 +-
 xen/arch/x86/traps.c               |   19 +++-
 xen/common/grant_table.c           |   30 +++++-
 xen/common/memory.c                |   13 ++-
 xen/common/tmem_xen.c              |   21 +++-
 xen/include/asm-ia64/mm.h          |    2 +
 xen/include/asm-x86/guest_pt.h     |    6 +-
 xen/include/asm-x86/hvm/hvm.h      |    5 +-
 xen/include/asm-x86/hvm/vmx/vvmx.h |    1 +
 xen/include/asm-x86/p2m.h          |   38 ++++++--
 44 files changed, 799 insertions(+), 276 deletions(-)

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.