[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH qemu v5 18/18] memory: Avoid temporary FlatView allo
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] [PATCH qemu v5 18/18] memory: Avoid temporary FlatView allocation in a single child case |
Date: |
Thu, 21 Sep 2017 18:51:10 +1000 |
The root MR may be enabled but the only child may be not (this is
the case for the PCI bus master address space) so check this and avoid
allocating temporary FV if that nested MR is not enabled.
This does not make any difference though.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
memory.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/memory.c b/memory.c
index 5c21563745..bf71f19fec 100644
--- a/memory.c
+++ b/memory.c
@@ -748,9 +748,14 @@ static FlatView *generate_memory_topology(MemoryRegion *mr)
int i;
FlatView *view;
bool use_empty = false;
+ MemoryRegion *child = QTAILQ_FIRST(&mr->subregions);
if (!mr->enabled) {
use_empty = true;
+ } else if (child && !child->enabled &&
+ !QTAILQ_NEXT(child, subregions_link) &&
+ !child->addr && int128_eq(child->size, mr->size)) {
+ use_empty = true;
} else {
view = flatview_new(mr);
if (mr) {
--
2.11.0
- Re: [Qemu-devel] [PATCH qemu v5 04/18] memory: Move AddressSpaceDispatch from AddressSpace to FlatView, (continued)
[Qemu-devel] [PATCH qemu v5 07/18] memory: Cleanup after switching to FlatView, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 09/18] memory: Store physical root MR in FlatView, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 06/18] memory: Switch memory from using AddressSpace to FlatView, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 12/18] memory: Share FlatView's and dispatch trees between address spaces, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 08/18] memory: Rename mem_begin/mem_commit/mem_add helpers, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 11/18] memory: Move address_space_update_ioeventfds, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 13/18] memory: Do not allocate FlatView in address_space_init, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 10/18] memory: Alloc dispatch tree where topology is generared, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 18/18] memory: Avoid temporary FlatView allocation in a single child case,
Alexey Kardashevskiy <=
[Qemu-devel] [PATCH qemu v5 14/18] memory: Rework "info mtree" to print flat views and dispatch trees, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 15/18] memory: Share special empty FlatView, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 16/18] memory: Get rid of address_space_init_shareable, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 17/18] memory: Create FlatView directly, Alexey Kardashevskiy, 2017/09/21
[Qemu-devel] [PATCH qemu v5 01/18] exec: Explicitly export target AS from address_space_translate_internal, Alexey Kardashevskiy, 2017/09/21
Re: [Qemu-devel] [PATCH qemu v5 00/18] memory: Store physical root MR in FlatView, Paolo Bonzini, 2017/09/21