Linux CXL
 help / color / mirror / Atom feed
* CXL volatile memory: How to restore the previous region/Interleave set
@ 2024-05-24  7:32 Zhijian Li (Fujitsu)
  2024-05-29  1:08 ` Dan Williams
  0 siblings, 1 reply; 12+ messages in thread
From: Zhijian Li (Fujitsu) @ 2024-05-24  7:32 UTC (permalink / raw)
  To: members@computeexpresslink.org, linux-cxl@vger.kernel.org
  Cc: Yasunori Gotou (Fujitsu), Jonathan Cameron,
	dan.j.williams@intel.com, dave.jiang@intel.com, Fan Ni

Hey CXL and Linux-CXL communities,


I am trying to understand how the current hardware and software can work
together to restore the previous region/Interleave Set configuration for CXL
volatile memory upon the next boot, but I don't have the answer yet.
Therefore, I have several questions and hope you can provide some suggestions
and thoughts. Thank you.

Q1, First, I would like to ask about the scope of LSA. According to CXL r3.0
section 9.13.2, it seems that LSA applies to CXL memory (including volatile
memory and persistent memory), but it does not explicitly state whether LSA
is mandatory. My understanding is:
- LSA is mandatory for persistent memory
- LSA is optional for volatile memory
Is this understanding correct?

Q2, Per CXL r3.0 "9.13.2.4 Region Labels", it mentions "Region labels describe
the geometry of a persistent memory Interleave Set". What does "a persistent
memory Interleave Set" mean here?
- a persistent Interleave Set for CXL memory device (volatile and persistent)
or
- a persistent Interleave Set for CXL persistent memory device only.

Q3, For CXL volatile memory devices without LSA installed, if users expect to
restore the Interleave set to the previous configuration after reboot, the
questions are:
Q3.1 Where should the Interleave Set information be stored?
Q3.2 Which component is responsible for restoring the Interleave Set?

One scenario I understand is that in clusters using an Orchestrator, such as
K8S, when a node (worker) restarts, K8S is able to read the Interleave Set
from the database and sets it for the corresponding node.

However, for a single-node machine, how can the kernel restore this information
immediately after startup (before /init executes) without user intervention?
Does the current Specification define this, or do other CXL-related firmware,
such as UEFI/ACPI/CFMWS/Fabric Manager, have enough information to reconstruct
the previous configuration?

PS.
It seems that LSA Region Label has not implemented yet in linux kernel
Region/Interleave set are saved in the running kernel memory/device registers, will
get lost after reboot in linux kernel.

Thanks
Zhijian

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-06-03  5:02 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-24  7:32 CXL volatile memory: How to restore the previous region/Interleave set Zhijian Li (Fujitsu)
2024-05-29  1:08 ` Dan Williams
2024-05-29 10:19   ` Zhijian Li (Fujitsu)
2024-05-29 15:44     ` Gregory Price
2024-05-30  9:56       ` Zhijian Li (Fujitsu)
2024-05-29 11:33   ` Yasunori Gotou (Fujitsu)
2024-05-29 16:40     ` Gregory Price
2024-05-30 10:35       ` Yuquan Wang
2024-05-31 15:50         ` Gregory Price
2024-05-30 10:54       ` Yasunori Gotou (Fujitsu)
2024-05-31 20:56     ` Dan Williams
2024-06-03  5:01       ` Yasunori Gotou (Fujitsu)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox