All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PULL 24/28] xen: mapcache: Break out xen_invalidate_map_cache_single()
Date: Mon,  6 May 2024 14:37:24 +0200	[thread overview]
Message-ID: <20240506123728.65278-25-philmd@linaro.org> (raw)
In-Reply-To: <20240506123728.65278-1-philmd@linaro.org>

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Break out xen_invalidate_map_cache_single().

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240430164939.925307-10-edgar.iglesias@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/xen/xen-mapcache.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 3e6a1a0a93..c8a0f4fbc2 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -513,17 +513,14 @@ void coroutine_mixed_fn xen_invalidate_map_cache_entry(uint8_t *buffer)
     }
 }
 
-void xen_invalidate_map_cache(void)
+static void xen_invalidate_map_cache_single(MapCache *mc)
 {
     unsigned long i;
     MapCacheRev *reventry;
 
-    /* Flush pending AIO before destroying the mapcache */
-    bdrv_drain_all();
+    mapcache_lock(mc);
 
-    mapcache_lock(mapcache);
-
-    QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
+    QTAILQ_FOREACH(reventry, &mc->locked_entries, next) {
         if (!reventry->dma) {
             continue;
         }
@@ -531,8 +528,8 @@ void xen_invalidate_map_cache(void)
                                        reventry->vaddr_req);
     }
 
-    for (i = 0; i < mapcache->nr_buckets; i++) {
-        MapCacheEntry *entry = &mapcache->entry[i];
+    for (i = 0; i < mc->nr_buckets; i++) {
+        MapCacheEntry *entry = &mc->entry[i];
 
         if (entry->vaddr_base == NULL) {
             continue;
@@ -553,9 +550,17 @@ void xen_invalidate_map_cache(void)
         entry->valid_mapping = NULL;
     }
 
-    mapcache->last_entry = NULL;
+    mc->last_entry = NULL;
 
-    mapcache_unlock(mapcache);
+    mapcache_unlock(mc);
+}
+
+void xen_invalidate_map_cache(void)
+{
+    /* Flush pending AIO before destroying the mapcache */
+    bdrv_drain_all();
+
+    xen_invalidate_map_cache_single(mapcache);
 }
 
 static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
-- 
2.41.0



  parent reply	other threads:[~2024-05-06 12:40 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-06 12:37 [PULL 00/28] Accelerator patches for 2024-05-06 Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 01/28] exec/cpu: Indent TARGET_PAGE_foo definitions Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 02/28] exec/cpu: Rename PAGE_BITS macro to PAGE_RWX Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 03/28] exec/cpu: Remove obsolete PAGE_RESERVED definition Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 04/28] exec/cpu: Remove duplicated PAGE_PASSTHROUGH definition Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 05/28] exec/cpu: Extract page-protection definitions to page-protection.h Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 06/28] accel/tcg: Use cpu_loop_exit_requested() in cpu_loop_exec_tb() Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 07/28] accel/tcg: Access tcg_cflags with getter / setter Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 08/28] accel/tcg: Move user definition of cpu_interrupt() to user-exec.c Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 09/28] accel/tcg: Update CPUNegativeOffsetState::can_do_io field documentation Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 10/28] accel/tcg: Restrict qemu_plugin_vcpu_exit_hook() to TCG plugins Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 11/28] accel/tcg: Restrict cpu_plugin_mem_cbs_enabled() to TCG Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 12/28] accel/tcg: Move @plugin_mem_cbs from CPUState to CPUNegativeOffsetState Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 13/28] user: Forward declare TaskState type definition Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 14/28] user: Declare get_task_state() once in 'accel/tcg/vcpu-state.h' Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 15/28] user: Use get_task_state() helper Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 16/28] softmmu: let qemu_map_ram_ptr() use qemu_ram_ptr_length() Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 17/28] xen: let xen_ram_addr_from_mapcache() return -1 in case of not found entry Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 18/28] xen: mapcache: Refactor lock functions for multi-instance Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 19/28] xen: mapcache: Refactor xen_map_cache " Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 20/28] xen: mapcache: Refactor xen_remap_bucket " Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 21/28] xen: mapcache: Break out xen_ram_addr_from_mapcache_single Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 22/28] xen: mapcache: Refactor xen_replace_cache_entry_unlocked Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 23/28] xen: mapcache: Refactor xen_invalidate_map_cache_entry_unlocked Philippe Mathieu-Daudé
2024-05-06 12:37 ` Philippe Mathieu-Daudé [this message]
2024-05-06 12:37 ` [PULL 25/28] xen: mapcache: Break out xen_map_cache_init_single() Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 26/28] softmmu: Pass RAM MemoryRegion and is_write in xen_map_cache() Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 27/28] MAINTAINERS: Update Aleksandar Rikalo email Philippe Mathieu-Daudé
2024-05-06 12:37 ` [PULL 28/28] MAINTAINERS: Update my email address Philippe Mathieu-Daudé
2024-05-06 12:44 ` [PULL 00/28] Accelerator patches for 2024-05-06 Philippe Mathieu-Daudé
2024-05-06 19:59 ` Richard Henderson

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=20240506123728.65278-25-philmd@linaro.org \
    --to=philmd@linaro.org \
    --cc=edgar.iglesias@amd.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sstabellini@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.