All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boqun Feng <boqun@kernel.org>
To: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
	Joerg Roedel <joro@8bytes.org>,
	amd-gfx@lists.freedesktop.org,
	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Vasant Hegde <vasant.hegde@amd.com>,
	Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	"open list:AMD IOMMU (AMD-VI)" <iommu@lists.linux.dev>,
	Jatin Kataria <jkataria@netflix.com>,
	Boqun Feng <boqunf@netflix.com>
Subject: Re: [PATCH v2 0/2] IOMMU Performance Optimization support
Date: Sun, 20 Sep 2026 17:27:49 +0100	[thread overview]
Message-ID: <arAJhXi14ptZRkcP@MacBook-0RXW5> (raw)
In-Reply-To: <20260908041207.38113-1-mario.limonciello@amd.com>

On Mon, Sep 07, 2026 at 11:12:05PM -0500, Mario Limonciello wrote:
> Add support for the AMD IOMMU Performance Optimization (PerfOpt)
> feature as defined in the AMD I/O Virtualization Technology (IOMMU)
> Specification, Section 3.4.9 (MMIO Offset 016Ch).
> 
> This feature allows privileged integrated I/O devices (GPUs) to bypass
> the IOMMU when directly accessing system memory.  The IOMMU only
> enforces the IR/IW permission bits without GPA->SPA translations.
> 
> Drivers will opt into this behavior, and enable amdgpu to turn this
> feature on when an integrated GPU is already in identity mode.
> If a user prefers to keep it always off (even with identity mode)
> there is also a module parameter to force it off.
> 

Our GPU memory accessing benchmark confirms the improvement: without the
patchset, GTT is 2x - 3x slower than VRAM, after this, the latency gap
is almost gone (within 10%). Nice work!

Tested-by: Boqun Feng (Netflix) <boqun@kernel.org>

Regards,
Boqun

> v2:
>  * Rebase on 7.3-rc2
>  * Adjust amdgpu parameter behavior
> 
> Mario Limonciello (2):
>   iommu/amd: Add PerfOpt IOMMU performance optimization support
>   drm/amdgpu: Enable PerfOpt IOMMU perf optimization when GPU in
>     identity domain
> 
>  drivers/gpu/drm/amd/amdgpu/amdgpu.h        |   1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |  50 +++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    |  12 ++
>  drivers/iommu/amd/amd_iommu.h              |   3 +
>  drivers/iommu/amd/amd_iommu_types.h        |   7 +
>  drivers/iommu/amd/init.c                   |  43 +++++
>  drivers/iommu/amd/iommu.c                  | 214 +++++++++++++++++++++
>  include/linux/amd-iommu.h                  |  11 ++
>  8 files changed, 341 insertions(+)
> 
> -- 
> 2.43.0
> 

  parent reply	other threads:[~2026-09-20 16:27 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-08  4:12 [PATCH v2 0/2] IOMMU Performance Optimization support Mario Limonciello
2026-09-08  4:12 ` [PATCH v2 1/2] iommu/amd: Add PerfOpt IOMMU performance optimization support Mario Limonciello
2026-09-24 22:50   ` Jason Gunthorpe
2026-09-25  0:03     ` Mario Limonciello
2026-09-25  0:17       ` Jason Gunthorpe
2026-09-25  0:21         ` Mario Limonciello
2026-09-25  7:20     ` Joerg Roedel
2026-09-25 12:28       ` Jason Gunthorpe
2026-09-25 13:11         ` Mario Limonciello
2026-09-25 22:39           ` Jason Gunthorpe
2026-09-26  0:33             ` Mario Limonciello
2026-09-28 12:08               ` Jason Gunthorpe
2026-09-28 15:32                 ` Mario Limonciello
2026-09-28 17:11                   ` Jason Gunthorpe
2026-09-28 17:15                     ` Mario Limonciello
2026-09-29  2:53                       ` Deucher, Alexander
2026-09-28  5:17     ` Christoph Hellwig
2026-09-25  7:30   ` Joerg Roedel
2026-09-08  4:12 ` [PATCH v2 2/2] drm/amdgpu: Enable PerfOpt IOMMU perf optimization when GPU in identity domain Mario Limonciello
2026-09-20 14:10 ` [PATCH v2 0/2] IOMMU Performance Optimization support Mario Limonciello
2026-09-20 16:27 ` Boqun Feng [this message]
2026-09-24 11:42 ` Joerg Roedel
2026-09-24 13:01   ` Deucher, Alexander
2026-09-24 13:50     ` Joerg Roedel

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=arAJhXi14ptZRkcP@MacBook-0RXW5 \
    --to=boqun@kernel.org \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=boqunf@netflix.com \
    --cc=iommu@lists.linux.dev \
    --cc=jkataria@netflix.com \
    --cc=joro@8bytes.org \
    --cc=mario.limonciello@amd.com \
    --cc=robin.murphy@arm.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=vasant.hegde@amd.com \
    --cc=will@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.