[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 77/86] exec: cleanup qemu_minrampagesize()/qemu_maxrampagesize()
From: |
Igor Mammedov |
Subject: |
[PATCH 77/86] exec: cleanup qemu_minrampagesize()/qemu_maxrampagesize() |
Date: |
Tue, 31 Dec 2019 14:04:01 +0100 |
Since all RAM is backed by hostmem backends, drop
global -mem-path invariant and simplify code.
Signed-off-by: Igor Mammedov <address@hidden>
---
exec.c | 51 +++++----------------------------------------------
1 file changed, 5 insertions(+), 46 deletions(-)
diff --git a/exec.c b/exec.c
index d4b769d..7b6e376 100644
--- a/exec.c
+++ b/exec.c
@@ -1667,60 +1667,19 @@ static int find_max_backend_pagesize(Object *obj, void
*opaque)
*/
long qemu_minrampagesize(void)
{
- long hpsize = LONG_MAX;
- long mainrampagesize;
- Object *memdev_root;
- MachineState *ms = MACHINE(qdev_get_machine());
-
- mainrampagesize = qemu_mempath_getpagesize(mem_path);
-
- /* it's possible we have memory-backend objects with
- * hugepage-backed RAM. these may get mapped into system
- * address space via -numa parameters or memory hotplug
- * hooks. we want to take these into account, but we
- * also want to make sure these supported hugepage
- * sizes are applicable across the entire range of memory
- * we may boot from, so we take the min across all
- * backends, and assume normal pages in cases where a
- * backend isn't backed by hugepages.
- */
- memdev_root = object_resolve_path("/objects", NULL);
- if (memdev_root) {
- object_child_foreach(memdev_root, find_min_backend_pagesize, &hpsize);
- }
- if (hpsize == LONG_MAX) {
- /* No additional memory regions found ==> Report main RAM page size */
- return mainrampagesize;
- }
-
- /* If NUMA is disabled or the NUMA nodes are not backed with a
- * memory-backend, then there is at least one node using "normal" RAM,
- * so if its page size is smaller we have got to report that size instead.
- */
- if (hpsize > mainrampagesize &&
- (ms->numa_state == NULL ||
- ms->numa_state->num_nodes == 0 ||
- ms->numa_state->nodes[0].node_memdev == NULL)) {
- static bool warned;
- if (!warned) {
- error_report("Huge page support disabled (n/a for main memory).");
- warned = true;
- }
- return mainrampagesize;
- }
+ long hpsize;
+ Object *memdev_root = object_resolve_path("/objects", NULL);
+ object_child_foreach(memdev_root, find_min_backend_pagesize, &hpsize);
return hpsize;
}
long qemu_maxrampagesize(void)
{
- long pagesize = qemu_mempath_getpagesize(mem_path);
+ long pagesize;
Object *memdev_root = object_resolve_path("/objects", NULL);
- if (memdev_root) {
- object_child_foreach(memdev_root, find_max_backend_pagesize,
- &pagesize);
- }
+ object_child_foreach(memdev_root, find_max_backend_pagesize, &pagesize);
return pagesize;
}
#else
--
2.7.4
- [PATCH 65/86] ppc:ppc405_boards: use memdev for RAM, (continued)
- [PATCH 65/86] ppc:ppc405_boards: use memdev for RAM, Igor Mammedov, 2019/12/31
- [PATCH 60/86] ppc:e500: use memdev for RAM, Igor Mammedov, 2019/12/31
- [PATCH 74/86] sparc:niagara: use memdev for RAM, Igor Mammedov, 2019/12/31
- [PATCH 68/86] ppc:prep: use memdev for RAM, Igor Mammedov, 2019/12/31
- [PATCH 66/86] ppc:ppc440_bamboo/sam460ex: drop RAM size fixup, Igor Mammedov, 2019/12/31
- [PATCH 73/86] sparc:sun4m: use memdev for RAM, Igor Mammedov, 2019/12/31
- [PATCH 75/86] remove no longer used memory_region_allocate_system_memory(), Igor Mammedov, 2019/12/31
- [PATCH 76/86] post conversion default_ram_id cleanup, Igor Mammedov, 2019/12/31
- [PATCH 77/86] exec: cleanup qemu_minrampagesize()/qemu_maxrampagesize(),
Igor Mammedov <=
- [PATCH 78/86] exec: drop bogus mem_path from qemu_ram_alloc_from_fd(), Igor Mammedov, 2019/12/31
- [PATCH 80/86] hostmem: introduce "prealloc-threads" property, Igor Mammedov, 2019/12/31
- [PATCH 83/86] tests:numa-test: make top level args dynamic and g_autofree(cli) cleanups, Igor Mammedov, 2019/12/31
- [PATCH 79/86] make mem_path local variable, Igor Mammedov, 2019/12/31
- [PATCH 85/86] numa: make exit() usage consistent, Igor Mammedov, 2019/12/31
- [PATCH 84/86] tests:numa-test: use explicit memdev to specify node RAM, Igor Mammedov, 2019/12/31
- [PATCH 82/86] numa: forbid '-numa node, mem' for 5.0 and newer machine types, Igor Mammedov, 2019/12/31
- [PATCH 81/86] hostmem: fix strict bind policy, Igor Mammedov, 2019/12/31
- [PATCH 86/86] numa: remove deprecated implicit RAM distribution between nodes, Igor Mammedov, 2019/12/31
- [PATCH 17/86] arm:imx25_pdk: drop RAM size fixup, Igor Mammedov, 2019/12/31