From: "Huang, Kai" <kai.huang@intel.com>
To: "gourry@gourry.net" <gourry@gourry.net>
Cc: "nunodasneves@linux.microsoft.com"
<nunodasneves@linux.microsoft.com>,
"rafael@kernel.org" <rafael@kernel.org>,
"Schofield, Alison" <alison.schofield@intel.com>,
"thorsten.blum@linux.dev" <thorsten.blum@linux.dev>,
"wangyuquan1236@phytium.com.cn" <wangyuquan1236@phytium.com.cn>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Williams, Dan J" <dan.j.williams@intel.com>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"xueshuai@linux.alibaba.com" <xueshuai@linux.alibaba.com>,
"linux-cxl@vger.kernel.org" <linux-cxl@vger.kernel.org>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"lenb@kernel.org" <lenb@kernel.org>
Subject: Re: [PATCH] ACPI: NUMA: Only parse CFMWS at boot when CXL_ACPI is on
Date: Thu, 5 Mar 2026 00:45:39 +0000 [thread overview]
Message-ID: <178a85c1d5a48938bf866a85d34ee2ba87901d10.camel@intel.com> (raw)
In-Reply-To: <aajOckpcmQwYydVQ@gourry-fedora-PF4VCD3F>
On Wed, 2026-03-04 at 19:29 -0500, Gregory Price wrote:
> On Thu, Mar 05, 2026 at 12:14:52AM +0000, Huang, Kai wrote:
> > On Wed, 2026-03-04 at 18:56 -0500, Gregory Price wrote:
> > >
> > > This basically says if specifically CXL_ACPI is built out, the NUMA
> > > structure is forever lost - even though it's accurately described by
> > > BIOS.
> > >
> >
> > The normal NUMA info described in SRAT is still there. It only avoids
> > detecting CFMWS, which doesn't provide any NUMA info actually -- that's why
> > kernel assigns a 'faked' NUMA node for each of them.
> >
> > So we are not losing anything AFAICT.
>
> Well, I'm mostly confused why there are CEDT entries for hardware that
> presumably isn't even there - unless this platform is reserving space
> for future hotplug.
>
I think this should be the case.
> Just want to make sure we're not adjusting for
> strange firmware behavior.
How to check whether it is "strange"?
I dumped the ACPI table on that platform, and what I can see is there's CEDT
table which contains couple of "[CXL Host Bridge Structure]" and "[CXL Fixed
Memory Window Structure]".
I pasted one for each of them here FYI:
[024h 0036 001h] Subtable Type : 00 [CXL Host Bridge
Structure]
[025h 0037 001h] Reserved : 00
[026h 0038 002h] Length : 0020
[028h 0040 004h] Associated host bridge : 00000003
[02Ch 0044 004h] Specification version : 00000001
[030h 0048 004h] Reserved : 00000000
[034h 0052 008h] Register base : 00000000997F0000
[03Ch 0060 008h] Register length : 0000000000010000
[124h 0292 001h] Subtable Type : 01 [CXL Fixed Memory Window
Structure]
[125h 0293 001h] Reserved : 00
[126h 0294 002h] Length : 0034
[128h 0296 004h] Reserved : 00000000
[12Ch 0300 008h] Window base address : 0000002080000000
[134h 0308 008h] Window size : 0000017B00000000
[13Ch 0316 001h] Interleave Members (2^n) : 02
[13Dh 0317 001h] Interleave Arithmetic : 01
[13Eh 0318 002h] Reserved : 0000
[140h 0320 004h] Granularity : 00000000
[144h 0324 002h] Restrictions : 0006
[146h 0326 002h] QtgId : 0000
[148h 0328 004h] First Target : 00000003
[14Ch 0332 004h] Next Target : 00000023
[150h 0336 004h] Next Target : 00000043
[154h 0340 004h] Next Target : 00000053
>
> The only platform we've seen this behavior on previously was QEMU, but
> that was because it never emitted SRAT,
>
My machine has a legitimate SRAT. The kernel detects it has 4 nodes with
256 CPUs + 256G memory.
> so i was wondering if there's
> odd firmware behavior going on (emitting CEDTs when it shouldn't) before
> we jump to dropping nodes that would have otherwise have been present
> on existing systems who might have compiled CXL_ACPI out.
I don't know how to check whether the BIOS "should" or "should not" generate
CEDT. I can check my machine if you let me know what to check specifically?
>
> You are taking something away by nature of compiling something out by
> default that was previously not compiled out by default.
Yeah, and it is due to "there's a cost" if we don't compile out by default.
Hope that justifies?
next prev parent reply other threads:[~2026-03-05 0:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-04 21:33 [PATCH] ACPI: NUMA: Only parse CFMWS at boot when CXL_ACPI is on Kai Huang
2026-03-04 22:33 ` Gregory Price
2026-03-04 23:20 ` Alison Schofield
2026-03-04 23:56 ` Gregory Price
2026-03-05 0:14 ` Huang, Kai
2026-03-05 0:29 ` Gregory Price
2026-03-05 0:45 ` Huang, Kai [this message]
2026-03-05 1:05 ` Gregory Price
2026-03-05 1:29 ` dan.j.williams
2026-03-05 1:51 ` Huang, Kai
2026-03-05 2:08 ` dan.j.williams
2026-03-05 2:22 ` Gregory Price
2026-03-05 3:01 ` dan.j.williams
2026-03-05 10:24 ` Huang, Kai
2026-03-05 8:11 ` Haifeng Xu
2026-03-05 10:25 ` Huang, Kai
2026-03-05 11:26 ` Haifeng Xu
2026-03-05 0:04 ` Huang, Kai
2026-03-05 0:44 ` Alison Schofield
2026-03-05 1:12 ` Huang, Kai
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=178a85c1d5a48938bf866a85d34ee2ba87901d10.camel@intel.com \
--to=kai.huang@intel.com \
--cc=akpm@linux-foundation.org \
--cc=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=gourry@gourry.net \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nunodasneves@linux.microsoft.com \
--cc=rafael@kernel.org \
--cc=thorsten.blum@linux.dev \
--cc=wangyuquan1236@phytium.com.cn \
--cc=xueshuai@linux.alibaba.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