From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
<julien@xen.org>
Cc: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>,
<Wei.Chen@arm.com>, <nd@arm.com>
Subject: [PATCH V4 00/10] Domain on Static Allocation
Date: Wed, 28 Jul 2021 10:27:47 +0000 [thread overview]
Message-ID: <20210728102758.3269446-1-penny.zheng@arm.com> (raw)
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
next reply other threads:[~2021-07-28 10:29 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-28 10:27 Penny Zheng [this message]
2021-07-28 10:27 ` [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation Penny Zheng
2021-08-11 13:32 ` Julien Grall
2021-08-16 5:21 ` Penny Zheng
2021-08-16 17:27 ` Julien Grall
2021-08-17 2:28 ` Penny Zheng
2021-07-28 10:27 ` [PATCH V4 02/10] xen/arm: introduce new helper device_tree_get_meminfo Penny Zheng
2021-08-11 13:35 ` Julien Grall
2021-08-16 5:27 ` Penny Zheng
2021-07-28 10:27 ` [PATCH V4 03/10] xen/arm: handle static memory in dt_unreserved_regions Penny Zheng
2021-08-11 13:48 ` Julien Grall
2021-08-16 6:00 ` Penny Zheng
2021-08-16 17:33 ` Julien Grall
2021-07-28 10:27 ` [PATCH V4 04/10] xen: introduce mark_page_free Penny Zheng
2021-08-11 14:08 ` Julien Grall
2021-07-28 10:27 ` [PATCH V4 05/10] xen/arm: static memory initialization Penny Zheng
2021-08-04 15:54 ` Jan Beulich
2021-08-13 12:20 ` Julien Grall
2021-08-16 6:12 ` Penny Zheng
2021-08-13 12:38 ` Julien Grall
2021-08-16 7:00 ` Wei Chen
2021-07-28 10:27 ` [PATCH V4 06/10] xen/arm: introduce PGC_reserved Penny Zheng
2021-08-13 12:21 ` Julien Grall
2021-08-16 6:13 ` Penny Zheng
2021-07-28 10:27 ` [PATCH V4 07/10] xen: re-define assign_pages and introduce assign_page Penny Zheng
2021-08-05 6:34 ` Jan Beulich
2021-08-13 12:27 ` Julien Grall
2021-08-13 12:32 ` Jan Beulich
2021-08-17 8:21 ` Penny Zheng
2021-07-28 10:27 ` [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and acquire_domstatic_pages Penny Zheng
2021-08-05 6:52 ` Jan Beulich
2021-08-13 13:00 ` Julien Grall
2021-08-16 6:43 ` Penny Zheng
2021-08-16 17:43 ` Julien Grall
2021-08-17 2:33 ` Penny Zheng
2021-07-28 10:27 ` [PATCH V4 09/10] xen/arm: check "xen,static-mem" property during domain construction Penny Zheng
2021-08-13 13:12 ` Julien Grall
2021-08-16 6:53 ` Penny Zheng
2021-07-28 10:27 ` [PATCH V4 10/10] xen/arm: introduce allocate_static_memory Penny Zheng
2021-08-13 13:36 ` Julien Grall
2021-08-16 7:51 ` Penny Zheng
2021-08-16 17:55 ` Julien Grall
2021-08-17 2:36 ` Penny Zheng
2021-07-28 10:27 ` [PATCH V4 04/10] xen: introduce mark_page_free Penny Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210728102758.3269446-1-penny.zheng@arm.com \
--to=penny.zheng@arm.com \
--cc=Bertrand.Marquis@arm.com \
--cc=Wei.Chen@arm.com \
--cc=julien@xen.org \
--cc=nd@arm.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.