Developer Guide

  • 2021.1
  • 11/03/2021
  • Public
Contents

Real-Time Configuration Manager (RTCM)

In this guide, you will see references to RTCM. You will be instructed to disable RTCM when using the
cache configurator
, and enable RTCM when using the
cache allocation library
. This topic provides a short description of RTCM and why it is important to configure it appropriately.

About RTCM

RTCM is software that enables software SRAM technology. To use software SRAM, you must have RTCM or a hypervisor that supports software SRAM.

RTCM and Cache Allocation Library

RTCM serves several functions including, but not limited to, protecting software SRAM and last-level cache (LLC) partitioning.
To provide such protections, RTCM virtualizes certain model-specific registers (MSRs) and CPUID leafs to prevent system software from discovering reserved cache ways or modifying their reservations.
The
cache allocation library
depends upon software SRAM to provide low-latency access to buffers. The cache allocation library requires that RTCM be enabled.

RTCM and Cache Configurator

Virtualization of the underlying physical resources prevents the
cache configurator
from obtaining needed information.
The cache configurator interfaces with the real-time configuration driver and underlying hardware to discover the original/unmodified cache configuration of the target system it is attempting to configure.
If RTCM is running at the time of such discovery, the cache configurator will not get the unmodified cache configuration of the system. It will instead get a “virtualized view” of the system that may be different from the unmodified view, resulting in improper functioning.
You must ensure that RTCM is disabled while the cache configurator is being used to perform the configuration and then re-enable RTCM afterward.

RTCM and Data Streams Optimizer

Known issue: In this release, ensure that RTCM is disabled before using the data streams optimizer for the first time and remains disabled afterward.
If you enable RTCM and then disable RTCM after the data streams optimizer has tuned the system, the system may freeze or you may see the error: “Could not set up firmware update: Invalid argument. ERROR: Failed to apply buffer capsule”. If system freeze is encountered, hard reset to regain control of the system. In some cases, flashing the BIOS will be required in order to apply a new capsule. In the case of detecting the error: “Could not set up firmware update: Invalid argument. ERROR: Failed to apply buffer capsule,” reboot to disable RTCM.
If you combine RTCM and data streams optimizer, you may experience various errors due to offline cores. To resolve the errors, reflash the BIOS.
For more details, see Troubleshooting.

Setup

If you have completed the Get Started Guide, RTCM is already set up.
The following steps are for reference and troubleshooting.
Add RTCM to the Boot Options
Cache allocation features require RTCM to be first in the boot order.
The following steps show how to manually add RTCM to the boot options:
  1. From your host system, connect to the target system:
    ssh <user>@<target>
  2. Determine which disk you boot from with following command:
    lsblk
    Example output:
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 57.3G 0 disk |-sda1 8:1 1 128M 0 part /boot/efi |-sda2 8:2 1 12G 0 part / |-sda3 8:3 1 12G 0 part |-sda4 8:4 1 12G 0 part /data |-sda5 8:5 1 4G 0 part [SWAP] sdb 8:16 1 14.4G 0 disk |-sdb1 8:17 1 14.4G 0 part sdc 8:32 1 28.7G 0 disk
    In this example, the boot disk (/boot/efi) is
    sda
    and partition is
    1
    . In some cases, you may see the partition
    p1
    ; the partition is still
    1
    .
  3. Set RTCM as the default boot option.
    Replace <disk> and <partition> with the disk you boot from.
    efibootmgr -c -l '\EFI\BOOT\ptcm_boot.efi' -d /dev/<disk> -p <partition> -L RTCM
    In this example output, the appearance of RTCM means the command was successful. RTCM will be enabled (as indicated by the asterisk) and first in the boot order (as indicated in BootOrder) after you reboot.
    BootCurrent: 0003 Timeout: 5 seconds BootOrder: 0004,0003,0001,0002,0000 Boot0000* Enter Setup Boot0001* Internal UEFI Shell Boot0002* Boot Device List Boot0003* UEFI INTEL SSDPEKKW010T8 BTHH85010JZH1P0E 1 Boot0004* RTCM
  4. Reboot the target system.
    reboot
Enable RTCM
You can enable RTCM with the following commands:
/usr/share/tcc_tools/scripts/setup_ssram/control_rtcm.sh enable reboot
Disable RTCM
You can disable RTCM with the following commands:
/usr/share/tcc_tools/scripts/setup_ssram/control_rtcm.sh disable reboot

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.