[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v8 47/54] Round up RAMBlock sizes to host page sizes
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [PATCH v8 47/54] Round up RAMBlock sizes to host page sizes |
Date: |
Tue, 29 Sep 2015 09:38:11 +0100 |
From: "Dr. David Alan Gilbert" <address@hidden>
RAMBlocks that are not a multiple of host pages in length
cause problems for postcopy (I've seen an ACPI table on aarch64
be 5k in length - i.e. 5x target-page), so round RAMBlock sizes
up to a host-page.
This potentially breaks migration compatibility due to changes
in RAMBlock sizes; however:
1) x86 and s390 I think always have host=target page size
2) When I've tried on Power the block sizes already seem aligned.
3) I don't think there's anything else that maintains per-version
machine-types for compatibility.
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
exec.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/exec.c b/exec.c
index d7c50e3..f746409 100644
--- a/exec.c
+++ b/exec.c
@@ -1425,7 +1425,7 @@ int qemu_ram_resize(ram_addr_t base, ram_addr_t newsize,
Error **errp)
assert(block);
- newsize = TARGET_PAGE_ALIGN(newsize);
+ newsize = HOST_PAGE_ALIGN(newsize);
if (block->used_length == newsize) {
return 0;
@@ -1569,7 +1569,7 @@ ram_addr_t qemu_ram_alloc_from_file(ram_addr_t size,
MemoryRegion *mr,
return -1;
}
- size = TARGET_PAGE_ALIGN(size);
+ size = HOST_PAGE_ALIGN(size);
new_block = g_malloc0(sizeof(*new_block));
new_block->mr = mr;
new_block->used_length = size;
@@ -1604,8 +1604,8 @@ ram_addr_t qemu_ram_alloc_internal(ram_addr_t size,
ram_addr_t max_size,
ram_addr_t addr;
Error *local_err = NULL;
- size = TARGET_PAGE_ALIGN(size);
- max_size = TARGET_PAGE_ALIGN(max_size);
+ size = HOST_PAGE_ALIGN(size);
+ max_size = HOST_PAGE_ALIGN(max_size);
new_block = g_malloc0(sizeof(*new_block));
new_block->mr = mr;
new_block->resized = resized;
--
2.5.0
- [Qemu-devel] [PATCH v8 43/54] Don't sync dirty bitmaps in postcopy, (continued)
- [Qemu-devel] [PATCH v8 43/54] Don't sync dirty bitmaps in postcopy, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 41/54] postcopy_ram.c: place_page and helpers, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 44/54] Don't iterate on precopy-only devices during postcopy, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 45/54] Host page!=target page: Cleanup bitmaps, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 46/54] postcopy: Check order of received target pages, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 47/54] Round up RAMBlock sizes to host page sizes,
Dr. David Alan Gilbert (git) <=
- [Qemu-devel] [PATCH v8 48/54] Postcopy; Handle userfault requests, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 50/54] postcopy: Wire up loadvm_postcopy_handle_ commands, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 49/54] Start up a postcopy/listener thread ready for incoming page data, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 51/54] Postcopy: Mark nohugepage before discard, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 52/54] End of migration for postcopy, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 53/54] Disable mlock around incoming postcopy, Dr. David Alan Gilbert (git), 2015/10/01
- [Qemu-devel] [PATCH v8 54/54] Inhibit ballooning during postcopy, Dr. David Alan Gilbert (git), 2015/10/01