From: Avi Kivity <avi@redhat.com>
To: qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>,
liu ping fan <qemulist@gmail.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Blue Swirl <blauwirbel@gmail.com>
Subject: [Qemu-devel] [PATCH v1 16/23] memory: move tcg flush into a tcg memory listener
Date: Sun, 7 Oct 2012 14:38:21 +0200 [thread overview]
Message-ID: <1349613508-22980-17-git-send-email-avi@redhat.com> (raw)
In-Reply-To: <1349613508-22980-1-git-send-email-avi@redhat.com>
We plan to make the core listener listen to all address spaces; this
will cause many more flushes than necessary. Prepare for that by
moving the flush into a tcg-specific listener.
Later we can avoid registering the listener if tcg is disabled.
Signed-off-by: Avi Kivity <avi@redhat.com>
---
exec.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/exec.c b/exec.c
index e5f26fb..3c46298 100644
--- a/exec.c
+++ b/exec.c
@@ -3174,7 +3174,7 @@ static void core_begin(MemoryListener *listener)
phys_section_watch = dummy_section(&io_mem_watch);
}
-static void core_commit(MemoryListener *listener)
+static void tcg_commit(MemoryListener *listener)
{
CPUArchState *env;
@@ -3229,7 +3229,6 @@ static void io_region_del(MemoryListener *listener,
static MemoryListener core_memory_listener = {
MEMORY_LISTENER_DEFAULT_OPS,
.begin = core_begin,
- .commit = core_commit,
.region_add = core_region_add,
.region_nop = core_region_nop,
.log_global_start = core_log_global_start,
@@ -3244,6 +3243,11 @@ static void io_region_del(MemoryListener *listener,
.priority = 0,
};
+static MemoryListener tcg_memory_listener = {
+ MEMORY_LISTENER_DEFAULT_OPS,
+ .commit = tcg_commit,
+};
+
static void memory_map_init(void)
{
system_memory = g_malloc(sizeof(*system_memory));
@@ -3258,6 +3262,7 @@ static void memory_map_init(void)
memory_listener_register(&core_memory_listener, system_memory);
memory_listener_register(&io_memory_listener, system_io);
+ memory_listener_register(&tcg_memory_listener, system_memory);
}
MemoryRegion *get_system_memory(void)
--
1.7.12
next prev parent reply other threads:[~2012-10-07 12:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-07 12:38 [Qemu-devel] [PATCH v1 00/23] Integrate DMA into the memory API Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 01/23] memory: rename 'exec-obsolete.h' Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 02/23] vhost: use MemoryListener filtering to only monitor RAM address space Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 03/23] kvm: use separate MemoryListeners for memory and I/O Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 04/23] xen_pt: " Avi Kivity
2012-10-08 12:18 ` Stefano Stabellini
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 05/23] memory: prepare AddressSpace for exporting Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 06/23] memory: export AddressSpace Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 07/23] memory: maintain a list of address spaces Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 08/23] memory: provide defaults for MemoryListener operations Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 09/23] memory: use new MEMORY_LISTENER_DEFAULT_OPS Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 10/23] vfio: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 11/23] xen_pt: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 12/23] kvm: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 13/23] xen: " Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 14/23] memory: manage coalesced mmio via a MemoryListener Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 15/23] memory: move address_space_memory and address_space_io out of memory core Avi Kivity
2012-10-07 12:38 ` Avi Kivity [this message]
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 17/23] memory: use AddressSpace for MemoryListener filtering Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 18/23] s390: avoid reaching into memory core internals Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 19/23] memory: per-AddressSpace dispatch Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 20/23] dma: make dma access its own address space Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 21/23] memory: add address_space_destroy() Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 22/23] pci: give each device its own address space Avi Kivity
2012-10-07 12:38 ` [Qemu-devel] [PATCH v1 23/23] pci: honor PCI_COMMAND_MASTER Avi Kivity
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=1349613508-22980-17-git-send-email-avi@redhat.com \
--to=avi@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=blauwirbel@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemulist@gmail.com \
/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).