On Fri, Mar 10, 2023 at 10:24:25AM +0800, Chuang Xu wrote:
In last patch, we wrap vm_load with begin/commit, here we introduce
address_space_to_flatview_rcu() to avoid unnecessary enforce commit
during vm_load.
Signed-off-by: Chuang Xu <xuchuangxclwt@bytedance.com>
---
include/exec/memory-internal.h | 2 +-
include/exec/memory.h | 20 ++++++++++++++++++++
softmmu/memory.c | 2 +-
3 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 100c1237ac..1432240449 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -30,7 +30,7 @@ static inline AddressSpaceDispatch
*flatview_to_dispatch(FlatView *fv)
static inline AddressSpaceDispatch *address_space_to_dispatch(AddressSpace *as)
{
- return flatview_to_dispatch(address_space_to_flatview(as));
+ return flatview_to_dispatch(address_space_to_flatview_rcu(as));
}
I'm not sure whether this one is always safe.
FlatView *address_space_get_flatview(AddressSpace *as);
diff --git a/include/exec/memory.h b/include/exec/memory.h
index d6fd89db64..235e3017bc 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -1100,6 +1100,9 @@ bool memory_region_transaction_in_progress(void);
void memory_region_transaction_do_commit(void);
+/*
+ * We recommend using this by default.
+ */
I think this comment doesn't really help.. drop it?
static inline FlatView *address_space_to_flatview(AddressSpace *as)