From: Baolu Lu <baolu.lu@linux.intel.com>
To: Tina Zhang <tina.zhang@intel.com>, Kevin Tian <kevin.tian@intel.com>
Cc: baolu.lu@linux.intel.com, iommu@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 0/4] Batch IOTLB/dev-IOTLB invalidation
Date: Mon, 2 Sep 2024 10:32:29 +0800 [thread overview]
Message-ID: <d3338276-fd8b-4d84-974e-6a07157406d1@linux.intel.com> (raw)
In-Reply-To: <20240815065221.50328-1-tina.zhang@intel.com>
On 8/15/24 2:52 PM, Tina Zhang wrote:
> IOTLB and dev-IOTLB invalidation operations are performance-critical.
> The current implementation in the VT-d driver submits these commands
> individually, leading to some inefficiencies due to the IOMMU
> programming and invalidation command processing overhead for each
> operation.
>
> This patch series enhances the efficiency of Queue Invalidation (QI)
> operations by adding support for batch processing. Microbenchmarks
> show that with a DSA device working in SVA, batching IOTLB and dev-IOTLB
> invalidations can decrease the time spent in qi_submit_sync()
> by roughly more than 800 cycles.
>
> Changelog
> v3:
> * Rebased on 6.11-rc3.
> * Updated commit messages which are revised by Baolu.
> * Dropped the refactoring quirk_extra_dev_tlb_flush() patch.
> * Added "Add qi_batch for dmar_domain" patch which is provided by Baolu.
>
> v2:
> * Rebased on 6.11-rc2.
> * Updated commit messages.
> * Added changes of refactoring IOTLB/Dev-IOTLB invalidation logic
> and quirk_extra_dev_tlb_flush() logic.
>
> v1:
> https://lore.kernel.org/linux-iommu/20240517003728.251115-1-tina.zhang@intel.com/
>
> Lu Baolu (1):
> iommu/vt-d: Add qi_batch for dmar_domain
>
> Tina Zhang (3):
> iommu/vt-d: Factor out invalidation descriptor composition
> iommu/vt-d: Refactor IOTLB and Dev-IOTLB flush for batching
> iommu/vt-d: Introduce batched cache invalidation
>
> drivers/iommu/intel/cache.c | 239 ++++++++++++++++++++++++++---------
> drivers/iommu/intel/dmar.c | 93 +-------------
> drivers/iommu/intel/iommu.c | 6 +-
> drivers/iommu/intel/iommu.h | 126 ++++++++++++++++++
> drivers/iommu/intel/nested.c | 1 +
> drivers/iommu/intel/svm.c | 5 +-
> 6 files changed, 316 insertions(+), 154 deletions(-)
Queued for v6.12-rc1.
Thanks,
baolu
prev parent reply other threads:[~2024-09-02 2:36 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-15 6:52 [PATCH v3 0/4] Batch IOTLB/dev-IOTLB invalidation Tina Zhang
2024-08-15 6:52 ` [PATCH v3 1/4] iommu/vt-d: Factor out invalidation descriptor composition Tina Zhang
2024-08-15 6:52 ` [PATCH v3 2/4] iommu/vt-d: Refactor IOTLB and Dev-IOTLB flush for batching Tina Zhang
2024-08-15 6:52 ` [PATCH v3 3/4] iommu/vt-d: Add qi_batch for dmar_domain Tina Zhang
2024-08-15 6:52 ` [PATCH v3 4/4] iommu/vt-d: Introduce batched cache invalidation Tina Zhang
2024-08-16 16:38 ` Jacob Pan
2024-08-17 3:28 ` Baolu Lu
2024-08-19 7:58 ` Yi Liu
2024-08-19 15:53 ` Jacob Pan
2024-08-19 15:40 ` Jacob Pan
2024-08-20 2:06 ` Baolu Lu
2024-08-20 23:04 ` Jacob Pan
2024-09-02 2:32 ` Baolu Lu [this message]
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=d3338276-fd8b-4d84-974e-6a07157406d1@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tina.zhang@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