From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: <alison.schofield@intel.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Len Brown" <lenb@kernel.org>,
Dan Williams <dan.j.williams@intel.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "Borislav Petkov" <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Andy Lutomirski <luto@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Dave Jiang <dave.jiang@intel.com>,
"Mike Rapoport" <rppt@kernel.org>, <x86@kernel.org>,
<linux-cxl@vger.kernel.org>, <linux-acpi@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 0/2] CXL: Apply SRAT defined PXM to entire CFMWS window
Date: Wed, 14 Jun 2023 10:10:51 +0100 [thread overview]
Message-ID: <20230614101051.00006602@Huawei.com> (raw)
In-Reply-To: <20230614083240.GC1639749@hirez.programming.kicks-ass.net>
On Wed, 14 Jun 2023 10:32:40 +0200
Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Jun 13, 2023 at 09:35:23PM -0700, alison.schofield@intel.com wrote:
> > The CXL subsystem requires the creation of NUMA nodes for CFMWS
>
> The thing is CXL some persistent memory thing, right? But what is this
> CFMWS thing? I don't think I've ever seen that particular combination of
> letters together.
>
Hi Peter,
To save time before the US based folk wake up.
Both persistent and volatile memory found on CXL devices (mostly volatile on
early devices).
CXL Fixed Memory Window (structure) (CFMWS - defined in 9.17.1.3 of CXL r3.0
- via an ACPI table (CEDT). CFMWS, as a term, is sometimes abused in the kernel
(and here) for the window rather than the structure describing the window
(the S on the end).
CFMWS - A region of Host Physical Address (HPA) Space which routes accesses to CXL Host
bridges. A CFMWS describes interleaving as well (so multiple target host bridges).
If multiple interleave setups are available, then you'll see multiple CFMWS entries
- so different statically regions of HPA can route to same host bridges with different
interleave setups (decoding via the configurable part to hit different actual memory
on the downstream devices).
Where accesses are routed after that depends on the configurable parts
of the CXL topology (Host-Managed Device Memory (HDM) decoders in host bridges,
switches etc). Note that a CFMWS address may route to nowhere if downstream
devices aren't available / configured yet.
CFMWS is the CXL specification avoiding defining interfaces for controlling
the host address space to CXL host bridge mapping as those vary so much across
host implementations + not always configurable at runtime anyway. Also includes
a bunch of other details about the region (too many details perhaps!)
Who does the configuration (BIOS / kernel) varies across implementations
and we have OS managed hotplug so the OS always has to do some of it
(personally I prefer the kernel doing everything :)
It's made messier by CXL 1.1 hosts where a lot less was discoverable so
generally the BIOS has to do the heavy lifting. For CXL 2.0 onwards the OS
'might' do everything except whatever is needed on the host to configure
the CXL Fixed Memory Windows it is advertising.
Note there is no requirement that the access characteristics of memory mapped
into a given CFMWS should be remotely consistent across the whole window
- some of the window may route through switches, and to directly connected
devices.
That's a simplifying assumption made today as we don't yet know the full
scope of what people are building.
Hope that helps (rather than causing confusion!)
Jonathan
next prev parent reply other threads:[~2023-06-14 9:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-14 4:35 [PATCH v2 0/2] CXL: Apply SRAT defined PXM to entire CFMWS window alison.schofield
2023-06-14 4:35 ` [PATCH v2 1/2] x86/numa: Introduce numa_fill_memblks() alison.schofield
2023-06-14 7:35 ` Wilczynski, Michal
2023-06-14 12:27 ` Dan Williams
2023-06-15 8:29 ` Peter Zijlstra
2023-06-14 16:17 ` Alison Schofield
2023-06-14 12:44 ` Dan Williams
2023-06-14 16:09 ` Alison Schofield
2023-06-15 8:34 ` Peter Zijlstra
2023-06-15 15:44 ` Alison Schofield
2023-06-14 4:35 ` [PATCH v2 2/2] ACPI: NUMA: Apply SRAT proximity domain to entire CFMWS window alison.schofield
2023-06-14 8:32 ` [PATCH v2 0/2] CXL: Apply SRAT defined PXM " Peter Zijlstra
2023-06-14 9:10 ` Jonathan Cameron [this message]
2023-06-14 13:33 ` Dan Williams
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=20230614101051.00006602@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=alison.schofield@intel.com \
--cc=bp@alien8.de \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=dave.jiang@intel.com \
--cc=hpa@zytor.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=rppt@kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox