[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 00/19] mini-os: support of auto-ballooning
Support ballooning Mini-OS automatically up in case of memory shortage. Do some cleanups, a small correction and add some basic features to lay groundwork for support of ballooning in Mini-OS (patches 1-14). The main visible change is the virtual memory layout: to be able to add memory to the running Mini-OS we need to have some spare areas especially after the 1:1 mapping of physical memory. Then add the ballooning functionality: the p2m map must be expanded, the page allocator's bitmap must be expanded and we must get new memory from the hypervisor. In case of a detected memory shortage the domain will balloon up until either enough memory is available or the upper limit has been reached. Ballooning has been tested with a xenstore stubdom. Regression tests have been done with: - pure mini-os - ioemu stubdom - pvgrub 64 bit pvgrub 32 bit didn't work before applying the series, it just entered the grub shell. With the series applied the behavior was exactly the same. The grub shell however was working (I tried "help" and "reboot"). I tried to modify arm specific files in order not to break the non-ballooning case, but I haven't tested it to either work or to compile. V1 of this series consisted of patches 1-9 only. Changes in V3: - some minor adjustments as requested by Samuel Thibault - added patch 19 Changes in V2: - added patches 10-18 - some coding style corrections - patch 7: introduced balloon specific source files - moved ballooning specific functions/definitions to ballon specific files - patch 9: avoid conflict with hypervisor mapped area on 32 bits Juergen Gross (19): mini-os: correct first free pfn mini-os: remove unused alloc_contig_pages() function mini-os: remove MM_DEBUG code mini-os: add description of x86 memory usage mini-os: add nr_free_pages counter mini-os: let memory allocation fail if no free page available mini-os: add ballooning config item mini-os: get maximum memory size from hypervisor mini-os: modify virtual memory layout for support of ballooning mini-os: remove unused mem_test() function mini-os: add checks for out of memory mini-os: don't allocate new pages for level 1 p2m tree mini-os: add function to map one frame mini-os: move p2m related macros to header file mini-os: remap p2m list in case of ballooning mini-os: map page allocator's bitmap to virtual kernel area for ballooning mini-os: add support for ballooning up mini-os: balloon up in case of oom mini-os: repair build system Config.mk | 93 +++++++++++++++ Makefile | 43 +------ arch/arm/balloon.c | 39 +++++++ arch/arm/mm.c | 10 +- arch/x86/Makefile | 3 - arch/x86/balloon.c | 147 +++++++++++++++++++++++ arch/x86/mm.c | 314 +++++++------------------------------------------- balloon.c | 160 +++++++++++++++++++++++++ config/MiniOS.mk | 10 -- config/StdGNU.mk | 47 -------- config/arm32.mk | 22 ---- config/arm64.mk | 19 --- config/x86_32.mk | 20 ---- config/x86_64.mk | 33 ------ include/arm/arch_mm.h | 2 + include/balloon.h | 59 ++++++++++ include/mm.h | 13 ++- include/x86/arch_mm.h | 70 +++++++++++ minios.mk | 4 +- mm.c | 131 ++++++++------------- 20 files changed, 682 insertions(+), 557 deletions(-) create mode 100644 arch/arm/balloon.c create mode 100644 arch/x86/balloon.c create mode 100644 balloon.c delete mode 100644 config/MiniOS.mk delete mode 100644 config/StdGNU.mk delete mode 100644 config/arm32.mk delete mode 100644 config/arm64.mk delete mode 100644 config/x86_32.mk delete mode 100644 config/x86_64.mk create mode 100644 include/balloon.h -- 2.6.6 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |