From: Thomas Gleixner <tglx@kernel.org>
To: Bert Karwatzki <spasswolf@web.de>, linux-kernel@vger.kernel.org
Cc: linux-next@vger.kernel.org, spasswolf@web.de,
"Mario Limonciello" <mario.limonciello@amd.com>,
"Sebastian Andrzej Siewior" <bigeasy@linutronix.de>,
"Clark Williams" <clrkwllms@kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Christian König" <christian.koenig@amd.com>,
regressions@lists.linux.dev, linux-pci@vger.kernel.org,
linux-acpi@vger.kernel.org,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
acpica-devel@lists.linux.dev,
"Robert Moore" <robert.moore@intel.com>,
"Saket Dumbre" <saket.dumbre@intel.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Clemens Ladisch" <clemens@ladisch.de>,
"Jinchao Wang" <wangjinchao600@gmail.com>,
"Yury Norov" <yury.norov@gmail.com>,
"Anna Schumaker" <anna.schumaker@oracle.com>,
"Baoquan He" <bhe@redhat.com>,
"Darrick J. Wong" <djwong@kernel.org>,
"Dave Young" <dyoung@redhat.com>,
"Doug Anderson" <dianders@chromium.org>,
"Guilherme G. Piccoli" <gpiccoli@igalia.com>,
"Helge Deller" <deller@gmx.de>, "Ingo Molnar" <mingo@kernel.org>,
"Jason Gunthorpe" <jgg@ziepe.ca>,
"Joanthan Cameron" <Jonathan.Cameron@huawei.com>,
"Joel Granados" <joel.granados@kernel.org>,
"John Ogness" <john.ogness@linutronix.de>,
"Kees Cook" <kees@kernel.org>, "Li Huafei" <lihuafei1@huawei.com>,
"Luck, Tony" <tony.luck@intel.com>,
"Luo Gengkun" <luogengkun@huaweicloud.com>,
"Max Kellermann" <max.kellermann@ionos.com>,
"Nam Cao" <namcao@linutronix.de>,
oushixiong <oushixiong@kylinos.cn>,
"Petr Mladek" <pmladek@suse.com>,
"Qianqiang Liu" <qianqiang.liu@163.com>,
"Sergey Senozhatsky" <senozhatsky@chromium.org>,
"Sohil Mehta" <sohil.mehta@intel.com>,
"Tejun Heo" <tj@kernel.org>,
"Thomas Zimemrmann" <tzimmermann@suse.de>,
"Thorsten Blum" <thorsten.blum@linux.dev>,
"Ville Syrjala" <ville.syrjala@linux.intel.com>,
"Vivek Goyal" <vgoyal@redhat.com>,
"Yunhui Cui" <cuiyunhui@bytedance.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
W_Armin@gmx.de
Subject: Re: NMI stack overflow during resume of PCIe bridge with CONFIG_HARDLOCKUP_DETECTOR=y
Date: Tue, 13 Jan 2026 20:30:46 +0100 [thread overview]
Message-ID: <87v7h5ia3d.ffs@tglx> (raw)
In-Reply-To: <bc20529d7520e7db7de2022bf9c96a1bc3a2f0df.camel@web.de>
On Tue, Jan 13 2026 at 18:50, Bert Karwatzki wrote:
> Am Dienstag, dem 13.01.2026 um 16:24 +0100 schrieb Thomas Gleixner:
>
>> What's more likely is that after a while _ALL_ CPUs are hung up in
>> the NMI handler after they tripped over the HPET read.
>
> I'm not sure about that, my latest testrun (with v6.18) crashed with
> only one message from exc_nmi().
What means crashed? Did it actually crash and output something or does
the machine just go dead? I assume the latter as you have no output.
>> along with the full output of /proc/iomem
>
> The physical address is 0xf0100000
>
> $ cat /proc/iomem
> f0000000-fcffffff : PCI Bus 0000:00
> f0000000-f7ffffff : PCI ECAM 0000 [bus 00-7f]
> f0000000-f7ffffff : pnp 00:00
That's the memory mapped PCI config space and this tries to access:
MMIO_START 0xf0000000
BUSNUM 0x01 << 20 0x00100000
SLOT/FN 0x00 << 12 0x00000000
OFFSET 0x00 << 0 0x00000000
-----------
0xf0100000
Offset 0 is vendor/device ID IIRC.
Anyway if that access does not complete because of a hardware issue,
then any subsequent access to the MMIO mapped HPET goes stale as well.
As the HPET is the active clocksource on your machine, this obviously
does not only affect the NMI watchdog readout, it affects the regular
timekeeper accesses too and all other MMIO accesses all over the place.
So gradually your machine just stalls on outstanding MMIO transactions
w/o further notice... The NMI is just a red herring.
You need to figure out why that MMIO access to that device's
configuration space stalls as anything else is just subsequent
damage.
There is not much what can be done about that unless the PCI bus raises
a failure interrupt and some magic reset sequence aborts the outstanding
stalled transactions.
Whether that's feasible or not, I don't know. The failure mechanism
might run into the same stall scenario when accessing the PCI muck for
reset...
Sorry for not being helpful.
Thanks,
tglx
next prev parent reply other threads:[~2026-01-13 19:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-13 9:41 NMI stack overflow during resume of PCIe bridge with CONFIG_HARDLOCKUP_DETECTOR=y Bert Karwatzki
2026-01-13 15:24 ` Thomas Gleixner
2026-01-13 17:50 ` Bert Karwatzki
2026-01-13 19:30 ` Thomas Gleixner [this message]
2026-01-13 21:15 ` Jason Gunthorpe
2026-01-13 22:19 ` Bert Karwatzki
2026-01-20 10:27 ` crash during resume of PCIe bridge in v5.17 (v5.16 works) Bert Karwatzki
2026-02-01 0:36 ` crash during resume of PCIe bridge from v5.17 to next-20260130 " Bert Karwatzki
2026-02-01 10:19 ` Armin Wolf
2026-02-01 11:42 ` Rafael J. Wysocki
2026-02-01 16:42 ` Thomas Gleixner
2026-02-02 10:37 ` Christian König
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=87v7h5ia3d.ffs@tglx \
--to=tglx@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=W_Armin@gmx.de \
--cc=acpica-devel@lists.linux.dev \
--cc=akpm@linux-foundation.org \
--cc=anna.schumaker@oracle.com \
--cc=bhe@redhat.com \
--cc=bhelgaas@google.com \
--cc=bigeasy@linutronix.de \
--cc=christian.koenig@amd.com \
--cc=clemens@ladisch.de \
--cc=clrkwllms@kernel.org \
--cc=cuiyunhui@bytedance.com \
--cc=deller@gmx.de \
--cc=dianders@chromium.org \
--cc=djwong@kernel.org \
--cc=dyoung@redhat.com \
--cc=gpiccoli@igalia.com \
--cc=jgg@ziepe.ca \
--cc=joel.granados@kernel.org \
--cc=john.ogness@linutronix.de \
--cc=kees@kernel.org \
--cc=lihuafei1@huawei.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=luogengkun@huaweicloud.com \
--cc=mario.limonciello@amd.com \
--cc=max.kellermann@ionos.com \
--cc=mingo@kernel.org \
--cc=namcao@linutronix.de \
--cc=oushixiong@kylinos.cn \
--cc=pmladek@suse.com \
--cc=qianqiang.liu@163.com \
--cc=rafael.j.wysocki@intel.com \
--cc=regressions@lists.linux.dev \
--cc=robert.moore@intel.com \
--cc=rostedt@goodmis.org \
--cc=saket.dumbre@intel.com \
--cc=senozhatsky@chromium.org \
--cc=sohil.mehta@intel.com \
--cc=spasswolf@web.de \
--cc=thorsten.blum@linux.dev \
--cc=tj@kernel.org \
--cc=tony.luck@intel.com \
--cc=tzimmermann@suse.de \
--cc=vgoyal@redhat.com \
--cc=ville.syrjala@linux.intel.com \
--cc=wangjinchao600@gmail.com \
--cc=yury.norov@gmail.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