IPMCTL-LOAD-GOAL(1)

โœจ IPMCTL-LOAD-GOAL โœจ

okay bestie, welcome to the ipmctl-load-goal page from the ipmctl manual, section 1 ๐Ÿ’… buckle up because we're about to load a whole memory allocation goal off a file and it's giving main character energy.


๐ŸŒธ NAME ๐ŸŒธ

ipmctl-load-goal โ€” creates a memory allocation goal request from a file ๐ŸŽ€


โœจ SYNOPSIS โœจ

ipmctl load [OPTIONS] -source (path) -goal [TARGETS]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

So basically? It creates a memory allocation goal request from a file onto one or more PMem modules. That's the whole vibe. โœจ

๐Ÿ“Œ Note: Deleting the PCD can be used as a way to prepare individual PMem modules for provisioning. See the delete -pcd command.
๐Ÿšจ Warning: This command may result in data loss. Data should be backed up to other storage before executing this command. Like, fr fr back it up first, no cap. ๐Ÿ˜ญ
๐Ÿ“Œ Note: Changing a memory allocation goal modifies how the platform firmware maps persistent memory in the System Physical Address space (SPA), which may result in data loss or inaccessible data, but does not explicitly delete or modify user data found in persistent memory.

๐Ÿ’– OPTIONS ๐Ÿ’–

one bullet per flag, we're not skipping a single one, periodt ๐Ÿ‘‘

  • -f, -force โ€” Reconfiguring PMem modules is a destructive operation which requires confirmation from the user. This option suppresses the confirmation. The force flag will also suppress the security enabled warning as well as all other warning prompts. ๐Ÿ’€ (iconic but dangerous, iykyk)
  • -h, -help โ€” Displays help for the command. ๐Ÿซถ
  • -ddrt โ€” Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl.
  • -smbus โ€” Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl.
๐Ÿ“Œ Note: The -ddrt and -smbus options are mutually exclusive and may not be used together. pick one, bestie, you can't have both ๐Ÿ™ˆ
  • -lpmb โ€” Used to specify large transport payload size for the current invocation of ipmctl.
  • -spmb โ€” Used to specify small transport payload size for the current invocation of ipmctl.
๐Ÿ“Œ Note: The -lpmb and -spmb options are mutually exclusive and may not be used together. again!! choose one!! ๐Ÿ˜ค
  • -o (text|nvmxml), -output (text|nvmxml) โ€” Changes the output format. One of: "text" (default) or "nvmxml". The "nvmxml" format implies the "-force" flag. ๐Ÿ‘€
  • -u (B|MB|MiB|GB|GiB|TB| TiB), -units (B|MB|MiB|GB|GiB|TB| TiB) โ€” Changes the units that capacities are displayed in for this command. One of: bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), terabytes (TB) or tebibytes (TiB). ๐Ÿ“

๐ŸŽฏ TARGETS ๐ŸŽฏ

  • -dimm [DimmIDs] โ€” Loads the memory allocation goal onto specific PMem modules by supplying one or more comma separated PMem module identifiers. This list must include all unconfigured PMem modules on the affected sockets. The default is to load the memory allocation goal onto all manageable PMem modules. ๐ŸŒˆ
  • -socket [SocketIDs] โ€” Loads the memory allocation goal onto all manageable PMem modules on specific sockets by supplying the socket target and one or more comma separated socket identifiers. The default is to load the memory allocation goal onto all manageable PMem modules on all sockets. ๐Ÿงš

๐Ÿ”ฅ EXAMPLES ๐Ÿ”ฅ

1. Loads the configuration settings stored in "config.txt" onto all the PMem modules in the system as a memory allocation goal to be applied by the BIOS on the next reboot. ๐Ÿ’ซ

ipmctl load -source config.txt -goal

2. Loads the configuration settings stored in "config.txt" onto a specified set of PMem modules as a memory allocation goal to be applied by the BIOS on the next reboot. ๐Ÿ’ซ

ipmctl load -source config.txt -goal -dimm 1,2,3

3. Loads the configuration settings stored in "config.txt" onto all manageable PMem modules on sockets 1 and 2 as a memory allocation goal to be applied by the BIOS on the next reboot. ๐Ÿ’ซ

ipmctl load -source config.txt -goal -socket 1,2

โญ LIMITATIONS โญ

In order to successfully execute this command, bestie, you need ALL of this to be true:

  • The caller must have the appropriate privileges. ๐Ÿ‘‘
  • The specified PMem modules must be manageable by the host software and must all have the same SKU.
  • SKU based maximum total mapped memory is enforced. See section [CPU Maximum Mapped Memory Limiting].
  • Existing memory allocation goals that have not been applied and any namespaces associated with the requested PMem modules must be deleted before running this command. ๐Ÿงน
  • Goal requests may not be applied by platform firmware (BIOS) if the PMem module is in security enabled, locked state.
๐Ÿ“Œ Note: It is recommended to disable security prior to reboot if requesting a new goal.
๐Ÿ“Œ Note: A goal request may be initiated even if a target PMem module is in security state enabled, but care must be taken to ensure the PMem module is in either unlocked or disabled security state prior to the platform firmware (BIOS) provisioning flow following a reboot. In addition, a warning will be presented to the user: WARNING: Goal will not be applied unless security is disabled prior to platform firmware (BIOS) provisioning! ๐Ÿ˜ญ
  • Changing the memory configuration is a destructive operation which results in loss of data stored in the persistent memory region. Therefore, data should be backed up to other storage before executing this command. Targets may be limited to individual PMem modules or sockets, but all PMem modules on affected sockets must be configured when the command finishes. If the selected targets make this impossible, the command will be rejected. Refer to [Show System Capabilities] for a list of BIOS supported modes. ๐Ÿ’€
  • Some requests are dependent on BIOS and/or platform configuration. For details, see the Intelยฎ Optaneโ„ข DC Persistent Memory Software Memory Allocation Rules Specification for Windows, Linux and UEFI, document number 564194. For example:
    • Provisioning PMem modules for Memory Mode while BIOS is configured for 1LM only will result in unused capacity.
    • Provisioning PMem modules for Memory Mode while not all iMCs have at least one PMem module will result in unused capacity.

๐Ÿซถ RETURN DATA ๐Ÿซถ

If successful, the CLI will display the memory allocation goal stored on each PMem module as documented in the command Section [Show Memory Allocation Goal]. โœจ

If a failure occurs, an error code and message will be displayed. ๐Ÿ˜ญ

If a failure occurs when configuring multiple PMem modules, the process will exit and remove the memory allocation goal from any PMem modules that succeeded prior to the failure. so it cleans up after itself, we love a tidy queen ๐Ÿงน๐Ÿ‘‘


and that's the whole page, bestie ๐Ÿ’–

this gorgeous little manpage comes to you from ipmctl, dated 2024-04-22 โ€” go forth and load those goals responsibly, and pls pls pls back up your data first ๐ŸŒธ๐ŸŽ€๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from