From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
To: <linux-kernel@vger.kernel.org>, <iommu@lists.linux.dev>
Cc: <joro@8bytes.org>, <joao.m.martins@oracle.com>,
<alejandro.j.jimenez@oracle.com>, <boris.ostrovsky@oracle.com>,
<jon.grimm@amd.com>, <santosh.shukla@amd.com>,
<vasant.hegde@amd.com>, <kishon.vijayabraham@amd.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Subject: [PATCH v2 0/5] iommu/amd: AVIC Interrupt Remapping Improvements
Date: Thu, 18 May 2023 20:55:24 -0400 [thread overview]
Message-ID: <20230519005529.28171-1-suravee.suthikulpanit@amd.com> (raw)
For IOMMU AVIC, the IOMMU driver needs to keep track of vcpu scheduling
changes, and updates interrupt remapping table entry (IRTE) accordingly.
The IRTE is normally cached by the hardware, which requires the IOMMU
driver to issue IOMMU IRT invalidation command and wait for completion
everytime it updates the table.
Enabling IOMMU AVIC on a large scale system with lots of vcpus and
VFIO pass-through devices running interrupt-intensive workload,
it could result in high IRT invalidation rate. In such case, the overhead
from IRT invalidation could outweigh the benefit of IRTE caching.
Therefore, introduce a new AMD IOMMU driver option "amd_iommu=irtcachedis"
to allow disabling IRTE caching, and avoid the need for IRTE invalidation.
Patch 1,2 prepare the AMD IOMMU driver to support IRT cache disabling.
Patch 3,4 introduce IRT cache disabling support
Patch 5 improves the code path in IOMMU driver for updating vcpu scheduling
for AVIC.
Thank you,
Suravee
Changes from V1
(https://lore.kernel.org/lkml/20230509111646.369661-1-suravee.suthikulpanit@amd.com/T/)
* Patch 3: Add logic to clean up the IRTE cache disabling
and handle kdump code path (per Alejandro)
Joao Martins (1):
iommu/amd: Switch amd_iommu_update_ga() to use modify_irte_ga()
Suravee Suthikulpanit (4):
iommu/amd: Remove the unused struct amd_ir_data.ref
iommu/amd: Introduce Disable IRTE Caching Support
iommu/amd: Do not Invalidate IRT when disable IRTE caching
iommu/amd: Improving Interrupt Remapping Table Invalidation
.../admin-guide/kernel-parameters.txt | 1 +
drivers/iommu/amd/amd_iommu_types.h | 7 +-
drivers/iommu/amd/init.c | 38 +++++++-
drivers/iommu/amd/iommu.c | 97 ++++++++++---------
4 files changed, 94 insertions(+), 49 deletions(-)
--
2.31.1
next reply other threads:[~2023-05-19 0:56 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-19 0:55 Suravee Suthikulpanit [this message]
2023-05-19 0:55 ` [PATCH v2 1/5] iommu/amd: Switch amd_iommu_update_ga() to use modify_irte_ga() Suravee Suthikulpanit
2023-05-23 0:02 ` Jerry Snitselaar
2023-05-19 0:55 ` [PATCH v2 2/5] iommu/amd: Remove the unused struct amd_ir_data.ref Suravee Suthikulpanit
2023-05-23 0:03 ` Jerry Snitselaar
2023-05-19 0:55 ` [PATCH v2 3/5] iommu/amd: Introduce Disable IRTE Caching Support Suravee Suthikulpanit
2023-05-22 17:02 ` Alejandro Jimenez
2023-05-23 0:10 ` Jerry Snitselaar
2023-05-19 0:55 ` [PATCH v2 4/5] iommu/amd: Do not Invalidate IRT when disable IRTE caching Suravee Suthikulpanit
2023-05-23 0:17 ` jsnitsel
2023-05-23 3:38 ` Suthikulpanit, Suravee
2023-05-23 6:32 ` Joerg Roedel
2023-05-19 0:55 ` [PATCH v2 5/5] iommu/amd: Improving Interrupt Remapping Table Invalidation Suravee Suthikulpanit
2023-05-23 0:22 ` Jerry Snitselaar
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=20230519005529.28171-1-suravee.suthikulpanit@amd.com \
--to=suravee.suthikulpanit@amd.com \
--cc=alejandro.j.jimenez@oracle.com \
--cc=boris.ostrovsky@oracle.com \
--cc=iommu@lists.linux.dev \
--cc=joao.m.martins@oracle.com \
--cc=jon.grimm@amd.com \
--cc=joro@8bytes.org \
--cc=kishon.vijayabraham@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=santosh.shukla@amd.com \
--cc=vasant.hegde@amd.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