[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH V4 00/10] Domain on Static Allocation
Static Allocation refers to system or sub-system(domains) for which memory areas are pre-defined by configuration using physical address ranges. Those pre-defined memory, -- Static Memory, as parts of RAM reserved in the beginning, shall never go to heap allocator or boot allocator for any use. Domain on Static Allocation is supported through device tree property `xen,static-mem` specifying reserved RAM banks as this domain's guest RAM. The size of address-cells/size-cells must be defined in "#xen,static-mem-address-cells" and "#xen,static-mem-size-cells". This Patch Serie only talks about Domain on Static Allocation. Looking into related [design link]( https://lists.xenproject.org/archives/html/xen-devel/2021-05/msg00882.html) for more details. The whole design is about Static Allocation and 1:1 direct-map, and this Patch Serie only covers parts of it, which are Domain on Static Allocation. Other features will be delievered through different patch series. --- changes in v4: - move the option CONFIG_STATIC_MEMORY to common code, and with Arm "select"ing it - replace round_pg{down,up}() with PFN_DOWN()/PFN_UP() - in all cases where order-0 pages get passed, prefer using new assign_pages to pass literal 1 - reconstruct the order of assign_pages parameters - moving tlb/cache flush outside of the locked region, considering XSA-364 and reducing the amount of work happening with the heap_lock held - remove MEMF_no_refcount case - make acquire_staticmem_pages/acquire_domstatic_pages being __init TODO: - reboot domain on static allocation - Implement all memory-ops(hypercalls) regarding domain on static allocation to balloon in/out memory - asynchronously scrubbing PGC_reserved pages - consider domain on static allocation on NUMA-support scenario Penny Zheng (10): xen/arm: introduce domain on Static Allocation xen/arm: introduce new helper device_tree_get_meminfo xen/arm: handle static memory in dt_unreserved_regions xen: introduce mark_page_free xen/arm: static memory initialization xen/arm: introduce PGC_reserved xen: re-define assign_pages and introduce assign_page xen/arm: introduce acquire_staticmem_pages and acquire_domstatic_pages xen/arm: check "xen,static-mem" property during domain construction xen/arm: introduce allocate_static_memory docs/misc/arm/device-tree/booting.txt | 40 +++++ xen/arch/arm/Kconfig | 1 + xen/arch/arm/bootfdt.c | 89 +++++++--- xen/arch/arm/domain_build.c | 170 +++++++++++++++++- xen/arch/arm/setup.c | 71 ++++++-- xen/arch/x86/pv/dom0_build.c | 2 +- xen/common/Kconfig | 3 + xen/common/grant_table.c | 2 +- xen/common/memory.c | 4 +- xen/common/page_alloc.c | 243 ++++++++++++++++++++------ xen/include/asm-arm/mm.h | 3 + xen/include/asm-arm/setup.h | 2 + xen/include/xen/mm.h | 15 ++ 13 files changed, 542 insertions(+), 103 deletions(-) -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |