EPYC™ system management software (E-SMS) stack comprises of kernel modules, user space libraries and tools to manage power, performance aspects via In-band and Out-of-band of the EPYC™ line of server CPUs from AMD.

E-SMS In-band stack

E-SMS In-band stack is a Linux® software stack based on in-band interfaces such as MSRs and HSMP (Host System Management Port)

  • Kernel modules
    • amd_energy driver : Open sourced Linux® driver, reports per core and per socket energy consumption via hwmon attributes (privileged user)
    • amd_hsmp module : Open sourced Linux® module that provides sysfs interface to the in-band system management functionality
    • amd_edac modules: Upstreamed Linux® kernel module under edac subsystem to provide error counts for the memory devices.
    • amd_mce modules: Linux® kernel module under MCE framework to handle the SMIs and provide error decoding and log them to dmesg
  • User space libraries and tools
    • E-SMI In-band library: The EPYC™ System Management Interface In-band Library, is a C-library for Linux® , which provides APIs for In-band user space software to monitor and control the CPU’s power, energy, performance, and other system management functionality.
    • Rasdaemon: Error decoding and logging supported for AMD EPYC™ CPUs.

E-SMS Out of-band stack

E-SMS Out-of-band stack Is a Linux® software stack based on AMD’s out-of-band Advanced Platform Management Link (APML) interface. The Advanced Platform Management Link (APML) is a SMBus v2.0 compatible 2-wire processor slave interface.

  • Kernel modules
    • sb-tsi driver: Up-streamed Linux® driver under hwmon subsystem to report per socket temperature and threshold management, in kernel.
    • sb-rmi driver: Up-streamed Linux® driver under hwmon subsystem to report per socket power consumption, limits and control the power limit
  • User space libraries and tools
    • E-SMI Out-of-band library: The EPYC™ System Management Interface Out-of-band Library, is a C library for Linux® , which provides APIs for the OOB (BMC) user space software to monitor and control the CPU’s power, energy, performance, temperature, and other system management functionality.