On Thu, Jul 8, 2021 at 11:38 AM James Anandraj <[email protected]> wrote: [..] > diff --git a/Documentation/pcdctl/theory-of-operation.txt > b/Documentation/pcdctl/theory-of-operation.txt > new file mode 100644 > index 0000000..b363195 > --- /dev/null > +++ b/Documentation/pcdctl/theory-of-operation.txt > @@ -0,0 +1,28 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +THEORY OF OPERATION > +------------------- > +A region is persistent memory from one or more non-volatile memory devices > that > +is mapped into the system physical address (SPA) space. For some device > vendors, > +reconfiguring regions is a multi-step process as follows. > +1. Generate a new region configuration request using this command. > +2. Reset the platform. > +3. Platform firmware (BIOS) processes the region configuration request and > +presents the new region configuration via ACPI NFIT tables. The status of > this > +BIOS operation can be retrieved using the pcdctl-list command. > + > +Region types are as follows: > +1. Interleaved Persistent Memory Region (iso-pmem) > +This is a persistent memory region that utilizes hardware interleaving across > +non-volatile memory devices. > +2. Non-Interleaved Persistent Memory Region (pmem) > +This is a persistent memory region that does not utilize hardware > interleaving > +across non-volatile memory devices.
"iso-pmem" and "pmem" are not immediately obvious names for interleaved and non-interleaved pmem. Even "interleave" is not a great term unless the user is familiar with the operation of the memory controller. How about "performance-pmem" and "fault-isolation-pmem" as that is the question that is being asked of the user? I.e. do you want to configure pmem to maximize bandwidth, or do you want to configure pmem to maximize the isolation and resiliency to faults in individual modules.
