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

RE: [Xen-devel] [RFC] design/API for plugging tmem into existing xen physical memory management code



OK, here's the changes I've implemented to plug tmem into the
existing xen physical memory management code.  Hopefully it looks OK.

For easier review, this patch and the diffstat below includes only
files changed in the hypervisor for tmem.

I had some difficulty understanding the page_list macros so left
page_list_splice unimplemented for now.  The working code removes pages
from the tmem list one at a time and adds them to the scrub list,
but since the pages could number in the millions for a large-memory
machine, this could be very slow.

Also, I'm uncertain about the change in alloc_heap_page... is
any tlb flushing required given that tmem pages are never visible
outside of the hypervisor?

Thanks,
Dan

 arch/x86/mm.c                  |   36 +++++++++++++++++++++++++++++++++++
 arch/x86/setup.c               |    3 ++
 arch/x86/x86_32/entry.S        |    2 +
 arch/x86/x86_64/compat/entry.S |    2 +
 arch/x86/x86_64/entry.S        |    2 +
 common/Makefile                |    4 +++
 common/compat/Makefile         |    1 
 common/domain.c                |    4 +++
 common/page_alloc.c            |   42 +++++++++++++++++++++++++++++++++++------
 common/xmalloc_tlsf.c          |   33 ++++++++++++++++++++++----------
 include/Makefile               |    1 
 include/asm-x86/mm.h           |    2 +
 include/public/xen.h           |    1 
 include/xen/hypercall.h        |    5 ++++
 include/xen/mm.h               |   13 ++++++++++++
 include/xen/sched.h            |    3 ++
 include/xen/xmalloc.h          |    8 ++++++-
 include/xlat.lst               |    3 ++
 18 files changed, 148 insertions(+), 17 deletions(-)

Attachment: tmem-xen-mods-19187-090219.patch
Description: Binary data

_______________________________________________
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®.