Linux IOMMU Development
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com>
Cc: "intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
	Lucas De Marchi <lucas.demarchi@intel.com>,
	"Kurmi, Suresh Kumar" <suresh.kumar.kurmi@intel.com>,
	"Saarinen, Jani" <jani.saarinen@intel.com>,
	matthew.auld@intel.com, baolu.lu@linux.intel.com,
	iommu@lists.linux.dev
Subject: Re: REGRESSION on linux-next (next-20251106)
Date: Tue, 18 Nov 2025 12:13:41 -0400	[thread overview]
Message-ID: <20251118161341.GC90703@nvidia.com> (raw)
In-Reply-To: <a79fe616-52c7-4fa5-906c-382b5ff2226c@intel.com>

> Also, the tests fail consistently and are not sporadic.

From these logs I see the below fragment, noting this:

 gem_exec_gttfil-1010    [004] .N...    50.126420: map: IOMMU: iova=0x00003fffffc00000 - 0x0000400000000000 paddr=0x00000001b9400000 size=4194304
                                                                    ^^^^^^^^^^^^^^^^^^^
Which is the high IOVA.. It has bit 45 set. I fed this mapping into
the kunit and it does map successfully.

It is not high enough to get into anything special about sign extend,
the driver sets:

	if (cap_fl5lp_support(iommu->cap))
		cfg.common.hw_max_vasz_lg2 = 57;
	else
		cfg.common.hw_max_vasz_lg2 = 48;

Maybe this code is wrong? Baolu what did you get for this log:

 [   50.126166] i915 0000:00:02.0: Using 46-bit DMA addresses

In your force second stage test? Is it 46? Second stage uses different
code to compute vasz_lg2 and is sensitive to magw:

	if (mgaw >= 48 && (sagaw & BIT(3)))
		return min(57, mgaw);
	else if (mgaw >= 39 && (sagaw & BIT(2)))
		return min(48, mgaw);
	else if (mgaw >= 30 && (sagaw & BIT(1)))
		return min(39, mgaw);

Maybe this is the issue?

I don't know how the GPU works, is that the command buffer that is
getting 'request 6000'

[   50.128337] i915 0000:00:02.0: [drm] *ERROR* GT0: GUC: CT: Failed to process request 6000 (-EOPNOTSUPP)

?

Chaitanya, can you collect these two log files from the commit that
works please? Lets see if it uses the same IOVA and same 46 bit limit?

Thanks,
Jason

                                    [   49.064561] [IGT] gem_exec_gttfill: starting subtest basic
[..]
          <idle>-0       [010] ..s1.    50.124236: map: IOMMU: iova=0x00000000ffefa000 - 0x00000000ffefb000 paddr=0x0000000100271000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.124414: map: IOMMU: iova=0x00000000433fc000 - 0x00000000433fd000 paddr=0x0000000128532000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.124598: map: IOMMU: iova=0x000000002ebfc000 - 0x000000002ebfd000 paddr=0x0000000128533000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.124782: map: IOMMU: iova=0x00000000443f9000 - 0x00000000443fa000 paddr=0x0000000128534000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.124966: map: IOMMU: iova=0x000000002dbf9000 - 0x000000002dbfa000 paddr=0x0000000128535000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.125149: map: IOMMU: iova=0x000000002cbfd000 - 0x000000002cbfe000 paddr=0x0000000128536000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.125347: map: IOMMU: iova=0x00000000413fd000 - 0x00000000413fe000 paddr=0x0000000128537000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.125538: map: IOMMU: iova=0x000000001fbfe000 - 0x000000001fbff000 paddr=0x0000000128538000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.125580: i915_request_retire.part.0: 0000:00:02.0 rcs0: fence 18:1034, current 1036 
 gem_exec_gttfil-1010    [004] .....    50.125590: __i915_request_commit: 0000:00:02.0 rcs0: fence 18:1038, current 1036 
 gem_exec_gttfil-1010    [004] D..1.    50.125592: __i915_request_submit: 0000:00:02.0 rcs0: fence 18:1038, current 1036 
   kworker/u64:1-138     [002] .....    50.125600: unmap: IOMMU: iova=0x000000001fbfe000 - 0x000000001fbff000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.125627: unmap: IOMMU: iova=0x00000000413fd000 - 0x00000000413fe000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.125643: unmap: IOMMU: iova=0x000000002cbfd000 - 0x000000002cbfe000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.125659: unmap: IOMMU: iova=0x000000002dbf9000 - 0x000000002dbfa000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.125675: unmap: IOMMU: iova=0x00000000443f9000 - 0x00000000443fa000 size=4096 unmapped_size=4096
                                    [   50.126166] i915 0000:00:02.0: Using 46-bit DMA addresses
 gem_exec_gttfil-1010    [004] .N...    50.126420: map: IOMMU: iova=0x00003fffffc00000 - 0x0000400000000000 paddr=0x00000001b9400000 size=4194304
 gem_exec_gttfil-1010    [004] .....    50.126701: map: IOMMU: iova=0x000000001fbfd000 - 0x000000001fbfe000 paddr=0x0000000128539000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.126892: map: IOMMU: iova=0x000000001fbfc000 - 0x000000001fbfd000 paddr=0x000000012853a000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.127083: map: IOMMU: iova=0x000000002d3fb000 - 0x000000002d3fc000 paddr=0x000000012853b000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.127271: map: IOMMU: iova=0x0000000041bfc000 - 0x0000000041bfd000 paddr=0x000000012853c000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.127467: map: IOMMU: iova=0x000000001dbfc000 - 0x000000001dbfd000 paddr=0x000000012853d000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.127653: map: IOMMU: iova=0x000000001f3fa000 - 0x000000001f3fb000 paddr=0x000000012853e000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.127838: map: IOMMU: iova=0x000000001f3f9000 - 0x000000001f3fa000 paddr=0x000000012853f000 size=4096
 gem_exec_gttfil-1010    [004] .....    50.127877: i915_request_retire.part.0: 0000:00:02.0 rcs0: fence 18:1036, current 1038 
 gem_exec_gttfil-1010    [004] .....    50.127887: __i915_request_commit: 0000:00:02.0 rcs0: fence 18:1040, current 1038 
 gem_exec_gttfil-1010    [004] D..1.    50.127890: __i915_request_submit: 0000:00:02.0 rcs0: fence 18:1040, current 1038 
   kworker/u64:1-138     [002] .....    50.127966: unmap: IOMMU: iova=0x000000001f3f9000 - 0x000000001f3fa000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.127990: unmap: IOMMU: iova=0x000000001f3fa000 - 0x000000001f3fb000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.128006: unmap: IOMMU: iova=0x000000001dbfc000 - 0x000000001dbfd000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.128024: unmap: IOMMU: iova=0x0000000041bfc000 - 0x0000000041bfd000 size=4096 unmapped_size=4096
   kworker/u64:1-138     [002] .....    50.128042: unmap: IOMMU: iova=0x000000002d3fb000 - 0x000000002d3fc000 size=4096 unmapped_size=4096
                                    [   50.128337] i915 0000:00:02.0: [drm] *ERROR* GT0: GUC: CT: Failed to process request 6000 (-EOPNOTSUPP)
 gem_exec_gttfil-1010    [004] .....    50.128561: map: IOMMU: iova=0x00003fffff800000 - 0x00003fffffc00000 paddr=0x00000001b9800000 size=4194304

  reply	other threads:[~2025-11-18 16:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-10  6:36 REGRESSION on linux-next (next-20251106) Borah, Chaitanya Kumar
2025-11-12 22:32 ` Jason Gunthorpe
2025-11-13  2:00   ` Tian, Kevin
2025-11-17 15:24     ` Jason Gunthorpe
2025-11-17 12:54   ` Baolu Lu
2025-11-17 15:22     ` Jason Gunthorpe
2025-11-18  1:29 ` Jason Gunthorpe
2025-11-18  4:04   ` Tian, Kevin
2025-11-18  6:19     ` Baolu Lu
2025-11-18  6:23     ` Baolu Lu
2025-11-18  7:47       ` Tian, Kevin
2025-11-18 11:29         ` Baolu Lu
2025-11-18 12:35           ` Jason Gunthorpe
2025-11-19  7:25             ` Baolu Lu
2025-11-18 10:30   ` Baolu Lu
2025-11-18 15:16   ` Borah, Chaitanya Kumar
2025-11-18 16:13     ` Jason Gunthorpe [this message]
2025-11-19  7:40       ` Borah, Chaitanya Kumar
2025-11-19  9:31         ` Tian, Kevin
2025-11-19 18:51           ` Jason Gunthorpe
2025-11-19 23:56             ` Tian, Kevin
2025-11-20  2:18               ` Jason Gunthorpe
2025-11-20  2:24                 ` Baolu Lu
2025-11-20  7:27                 ` Baolu Lu
2025-11-20  0:19             ` Tian, Kevin
2025-11-19  9:29       ` Baolu Lu

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=20251118161341.GC90703@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=chaitanya.kumar.borah@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=iommu@lists.linux.dev \
    --cc=jani.saarinen@intel.com \
    --cc=lucas.demarchi@intel.com \
    --cc=matthew.auld@intel.com \
    --cc=suresh.kumar.kurmi@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