From: Zhenzhong Duan <zhenzhong.duan@intel.com>
To: qemu-devel@nongnu.org
Cc: mst@redhat.com, peterx@redhat.com, jasowang@redhat.com,
pbonzini@redhat.com, richard.henderson@linaro.org,
eduardo@habkost.net, marcel.apfelbaum@gmail.com,
alex.williamson@redhat.com, clg@redhat.com, david@redhat.com,
philmd@linaro.org, kwankhede@nvidia.com, cjia@nvidia.com,
yi.l.liu@intel.com, chao.p.peng@intel.com
Subject: [PATCH v2 3/4] memory: Document update on replay()
Date: Thu, 1 Jun 2023 14:33:19 +0800 [thread overview]
Message-ID: <20230601063320.139308-4-zhenzhong.duan@intel.com> (raw)
In-Reply-To: <20230601063320.139308-1-zhenzhong.duan@intel.com>
Currently replay() callback is declared to be exactly same semantics
as memory_region_iommu_replay().
Customed replay() may provide some extent of optimization depending on
notifier's type. E.g. intel_iommu, IOMMU_NOTIFIER_MAP is optimized to
provide only changed entries.
Clarify the semantics of replay() and provide more flexibility.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
---
include/exec/memory.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index eecc3eec6702..9a523ef62a94 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -441,9 +441,9 @@ struct IOMMUMemoryRegionClass {
* call the IOMMU translate method for every page in the address space
* with flag == IOMMU_NONE and then call the notifier if translate
* returns a valid mapping. If this method is implemented then it
- * overrides the default behaviour, and must provide the full semantics
- * of memory_region_iommu_replay(), by calling @notifier for every
- * translation present in the IOMMU.
+ * overrides the default behavior, and must provide corresponding
+ * semantics depending on notifier's type, e.g. IOMMU_NOTIFIER_MAP,
+ * notify changed entries; IOMMU_NOTIFIER_FULL_MAP, notify full entries.
*
* Optional method -- an IOMMU only needs to provide this method
* if the default is inefficient or produces undesirable side effects.
--
2.34.1
next prev parent reply other threads:[~2023-06-01 6:46 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-01 6:33 [PATCH v2 0/4] Optimize UNMAP call and bug fix Zhenzhong Duan
2023-06-01 6:33 ` [PATCH v2 1/4] util: Add iova_tree_foreach_range_data Zhenzhong Duan
2023-06-05 18:39 ` Peter Xu
2023-06-01 6:33 ` [PATCH v2 2/4] intel_iommu: Fix a potential issue in VFIO dirty page sync Zhenzhong Duan
2023-06-05 18:39 ` Peter Xu
2023-06-06 2:35 ` Duan, Zhenzhong
2023-06-06 15:41 ` Peter Xu
2023-06-07 3:14 ` Duan, Zhenzhong
2023-06-07 14:06 ` Peter Xu
2023-06-01 6:33 ` Zhenzhong Duan [this message]
2023-06-05 18:42 ` [PATCH v2 3/4] memory: Document update on replay() Peter Xu
2023-06-06 2:48 ` Duan, Zhenzhong
2023-06-01 6:33 ` [PATCH v2 4/4] intel_iommu: Optimize out some unnecessary UNMAP calls Zhenzhong Duan
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=20230601063320.139308-4-zhenzhong.duan@intel.com \
--to=zhenzhong.duan@intel.com \
--cc=alex.williamson@redhat.com \
--cc=chao.p.peng@intel.com \
--cc=cjia@nvidia.com \
--cc=clg@redhat.com \
--cc=david@redhat.com \
--cc=eduardo@habkost.net \
--cc=jasowang@redhat.com \
--cc=kwankhede@nvidia.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=yi.l.liu@intel.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).