From: Vitaly Chikunov <vt@altlinux.org>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: "Hui Wang" <hui.wang@canonical.com>,
linux-pci@vger.kernel.org, bhelgaas@google.com,
raphael.norwitz@nutanix.com, alay.shah@nutanix.com,
suresh.gumpula@nutanix.com, ilpo.jarvinen@linux.intel.com,
"Nirmal Patel" <nirmal.patel@linux.intel.com>,
"Jonathan Derrick" <jonathan.derrick@linux.dev>,
"Chaitanya Kumar Borah" <chaitanya.kumar.borah@intel.com>,
"Ville Syrjälä" <ville.syrjala@linux.intel.com>
Subject: Re: [PATCH] PCI: Disable RRS polling for Intel SSDPE2KX020T8 nvme
Date: Thu, 11 Sep 2025 12:24:45 +0300 [thread overview]
Message-ID: <ryrirg2yqwnkqaw3rk56p75tdn@altlinux.org> (raw)
In-Reply-To: <20250811230445.GA168752@bhelgaas>
Bjorn,
On Mon, Aug 11, 2025 at 06:04:45PM -0500, Bjorn Helgaas wrote:
> On Fri, Aug 08, 2025 at 10:23:45AM +0800, Hui Wang wrote:
> > Hi Bjorn,
> >
> > Any progress on this issue, do we have a fix for this now? The
> > ubuntu users are waiting for a fix :-).
>
> Not yet, but thanks for the reminder. Keep bugging me!
Other distributions' users waiting for the fix too!
Thanks,
>
> PCIe r7.0, sec 2.3.1, makes it clear that devices are permitted to
> return RRS after FLR:
>
> ◦ For Configuration Requests only, if Device Readiness Status is not
> supported, following reset it is permitted for a Function to
> terminate the request and indicate that it is temporarily unable
> to process the Request, but will be able to process the Request in
> the future - in this case, the Request Retry Status (RRS)
> Completion Status must be used (see § Section 6.6). Valid reset
> conditions after which a device/Function is permitted to return
> RRS in response to a Configuration Request are:
>
> ▪ FLRs
>
> ...
>
> But I am a little bit concerned because sec 2.3.2, which talks about
> how a Root Complex handles that RRS and the RRS Software Visiblity
> feature, says (note the "system reset" period):
>
> Root Complex handling of a Completion with Request Retry Status for
> a Configuration Request is implementation specific, except for the
> period following SYSTEM RESET (see § Section 6.6). For Root
> Complexes that support Configuration RRS Software Visibility, the
> following rules apply:
>
> ◦ If Configuration RRS Software Visibility is enabled:
>
> ▪ For a Configuration Read Request that includes both bytes of
> the Vendor ID field of a device Function's Configuration Space
> Header, the Root Complex must complete the Request to the host
> by returning a read-data value of 0001h for the Vendor ID
> field and all 1's for any additional bytes included in the
> request.
>
> So I'm worried that the Software Visibility feature might work after
> *system reset*, but not necessarily after an FLR. That might make
> sense because I don't think the RC can tell when we are doing an FLR
> to a device.
>
> It seems that after FLR, most RCs *do* make RRS visible via SV. But
> if we can't rely on that, I don't know how we're supposed to learn
> when a device becomes ready.
>
> Bjorn
>
> > On 7/3/25 08:05, Hui Wang wrote:
> > > On 7/2/25 17:43, Hui Wang wrote:
> > > > On 7/2/25 07:23, Bjorn Helgaas wrote:
> > > > > On Tue, Jun 24, 2025 at 08:58:57AM +0800, Hui Wang wrote:
> > > > > > Sorry for late response, I was OOO the past week.
> > > > > >
> > > > > > This is the log after applied your patch:
> > > > > > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2111521/comments/61
> > > > > >
> > > > > > Looks like the "retry" makes the nvme work.
> > > > >
> > > > > Thank you! It seems like we get 0xffffffff (probably PCIe
> > > > > error) for a long time after we think the device should be
> > > > > able to respond with RRS.
> > > > >
> > > > > I always thought the spec required that after the delays, a
> > > > > device should respond with RRS if it's not ready, but now I
> > > > > guess I'm not 100% sure. Maybe it's allowed to just do
> > > > > nothing, which would lead to the Root Port timing out and
> > > > > logging an Unsupported Request error.
> > > > >
> > > > > Can I trouble you to try the patch below? I think we might
> > > > > have to start explicitly checking for that error. That
> > > > > probably would require some setup to enable the error, check
> > > > > for it, and clear it. I hacked in some of that here, but
> > > > > ultimately some of it should go elsewhere.
> > ...
next prev parent reply other threads:[~2025-09-11 9:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-11 10:14 [PATCH] PCI: Disable RRS polling for Intel SSDPE2KX020T8 nvme Hui Wang
2025-06-12 16:48 ` Bjorn Helgaas
2025-06-16 11:55 ` Hui Wang
2025-06-16 13:38 ` Hui Wang
2025-06-17 20:12 ` Bjorn Helgaas
2025-06-23 22:58 ` Bjorn Helgaas
2025-06-24 0:58 ` Hui Wang
2025-07-01 23:23 ` Bjorn Helgaas
2025-07-02 9:43 ` Hui Wang
2025-07-03 0:05 ` Hui Wang
2025-08-08 2:23 ` Hui Wang
2025-08-11 23:04 ` Bjorn Helgaas
2025-09-11 9:24 ` Vitaly Chikunov [this message]
2025-08-21 16:39 ` Bjorn Helgaas
2025-10-08 16:53 ` Bjorn Helgaas
2026-01-06 13:30 ` Linux regression tracking (Thorsten Leemhuis)
2026-02-08 21:30 ` Linux-Fan
2026-02-09 9:37 ` Thorsten Leemhuis
2026-02-09 16:34 ` Bjorn Helgaas
2026-02-13 19:37 ` Linux-Fan
2025-08-14 15:55 ` Bjorn Helgaas
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=ryrirg2yqwnkqaw3rk56p75tdn@altlinux.org \
--to=vt@altlinux.org \
--cc=alay.shah@nutanix.com \
--cc=bhelgaas@google.com \
--cc=chaitanya.kumar.borah@intel.com \
--cc=helgaas@kernel.org \
--cc=hui.wang@canonical.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jonathan.derrick@linux.dev \
--cc=linux-pci@vger.kernel.org \
--cc=nirmal.patel@linux.intel.com \
--cc=raphael.norwitz@nutanix.com \
--cc=suresh.gumpula@nutanix.com \
--cc=ville.syrjala@linux.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 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.