qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: qemu-devel@nongnu.org
Cc: Alexey Kardashevskiy <aik@ozlabs.ru>,
	Paolo Bonzini <pbonzini@redhat.com>
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	[thread overview]
Message-ID: <20170921085110.25598-19-aik@ozlabs.ru> (raw)
In-Reply-To: <20170921085110.25598-1-aik@ozlabs.ru>

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 <aik@ozlabs.ru>
---
 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

  parent reply	other threads:[~2017-09-21  8:51 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-21  8:50 [Qemu-devel] [PATCH qemu v5 00/18] memory: Store physical root MR in FlatView Alexey Kardashevskiy
2017-09-21  8:50 ` [Qemu-devel] [PATCH qemu v5 01/18] exec: Explicitly export target AS from address_space_translate_internal Alexey Kardashevskiy
2017-09-21  8:50 ` [Qemu-devel] [PATCH qemu v5 02/18] memory: Open code FlatView rendering Alexey Kardashevskiy
2017-09-21  8:50 ` [Qemu-devel] [PATCH qemu v5 03/18] memory: Move FlatView allocation to a helper Alexey Kardashevskiy
2017-09-21  8:50 ` [Qemu-devel] [PATCH qemu v5 04/18] memory: Move AddressSpaceDispatch from AddressSpace to FlatView Alexey Kardashevskiy
2017-09-21 11:51   ` Paolo Bonzini
2017-09-21 13:44     ` Alexey Kardashevskiy
2017-09-21 13:54       ` Paolo Bonzini
2017-09-21  8:50 ` [Qemu-devel] [PATCH qemu v5 05/18] memory: Remove AddressSpace pointer from AddressSpaceDispatch Alexey Kardashevskiy
2017-09-21  8:50 ` [Qemu-devel] [PATCH qemu v5 06/18] memory: Switch memory from using AddressSpace to FlatView Alexey Kardashevskiy
2017-09-21  8:50 ` [Qemu-devel] [PATCH qemu v5 07/18] memory: Cleanup after switching " Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 08/18] memory: Rename mem_begin/mem_commit/mem_add helpers Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 09/18] memory: Store physical root MR in FlatView Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 10/18] memory: Alloc dispatch tree where topology is generared Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 11/18] memory: Move address_space_update_ioeventfds Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 12/18] memory: Share FlatView's and dispatch trees between address spaces Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 13/18] memory: Do not allocate FlatView in address_space_init Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 14/18] memory: Rework "info mtree" to print flat views and dispatch trees Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 15/18] memory: Share special empty FlatView Alexey Kardashevskiy
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 16/18] memory: Get rid of address_space_init_shareable Alexey Kardashevskiy
2017-09-21 23:06   ` Paolo Bonzini
2017-09-21  8:51 ` [Qemu-devel] [PATCH qemu v5 17/18] memory: Create FlatView directly Alexey Kardashevskiy
2017-09-21  8:51 ` Alexey Kardashevskiy [this message]
2017-09-21 10:03 ` [Qemu-devel] [PATCH qemu v5 00/18] memory: Store physical root MR in FlatView Paolo Bonzini
2017-09-21 10:11   ` Alexey Kardashevskiy
2017-09-21 11:38     ` Paolo Bonzini

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=20170921085110.25598-19-aik@ozlabs.ru \
    --to=aik@ozlabs.ru \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).