Provided by: intel-lpmd_0.0.3-0ubuntu2_amd64 bug

NAME

       intel_lpmd_config.xml - Configuration file for intel_lpmd

SYNOPSIS

       $(TDCONFDIR)/etc/intel_lpmd/intel_lpmd_config.xml

DESCRIPTION

       intel_lpmd_config.xml  is  a  configuration  file  for  the  Intel  Low Power Mode Daemon.  It is used to
       describe the lp_mode_cpus to use in Low Power Mode, as well as the way to restrict work to those CPUs. It
       also describes if and how the HFI monitor and utilization  monitor  works.  The  location  of  this  file
       depends on the configuration option used during build time.

       lp_mode_cpus  is  a  set of active CPUs when system is in Low Power Mode.  This usually equals a group of
       most power efficient CPUs on a platform to achieve best power saving. When not specified, intel_lpmd tool
       can detect this automatically. E.g. it uses an E-core Module on Intel Alderlake platform, and it uses the
       Low Power E-cores on SoC Die on Intel Meteorlake platform.

       Mode specifies the way to migrate the tasks to the lp_mode_cpus.

       • Mode 0: set cpuset to the lp_mode_cpus for systemd. All tasks created by systemd will run on these CPUs
         only. This is supported for cgroup v2 based systemd only.

       • Mode 1: Isolate the non-lp_mode_cpus so that tasks are scheduled to the lp_mode_cpus only.

       • Mode 2: Force idle injection to the non-lp_mode_cpus and leverage the scheduler to schedule  the  other
         tasks to the lp_mode_cpus.

       PerformanceDef specifies the default behavior when power setting is set to Performance.

       • -1 : Never enter Low Power Mode.

       • 0 : opportunistic Low Power Mode enter/exit based on HFI/Utilization request.

       • 1 : Always stay in Low Power Mode.

       BalancedDef specifies the default behavior when power setting is set to Balanced.

       PowersaverDef specifies the default behavior when power setting is set to Power saver.

       HfiLpmEnable specifies if the HFI monitor can capture the HFI hints for Low Power Mode.

       HfiSuvEnable specifies if the HFI monitor can capture the HFI hints for survivability mode.

       util_entry_threshold  specifies the system utilization threshold for entering Low Power Mode.  The system
       workload is considered to fit the lp_mode_cpus capacity when system utilization is under this  threshold.
       Setting to 0 or leaving this empty disables the utilization monitor.

       util_exit_threshold  specifies  the  CPU  utilization  threshold  for exiting Low Power Mode.  The system
       workload is considered to not  fit  the  lp_mode_cpus  capacity  when  the  utilization  of  the  busiest
       lp_mode_cpus  is  above  this  threshold.   Setting  to  0 or leaving this empty disables the utilization
       monitor.

       EntryDelayMS specifies the sample interval used by the utilization Monitor when system wants to enter Low
       Power Mode based on system utilization.  Setting to 0 or leaving this empty will  cause  the  utilization
       Monitor to use the default interval, 1000 milli seconds.

       ExitDelayMS  specifies  the sample interval used by the utilization Monitor when system wants to exit Low
       Power Mode based on CPU utilization.  Setting to 0 or leaving  this  empty  will  cause  the  utilization
       Monitor to use the adaptive value. The adaptive interval is based on CPU utilization.  The busier the CPU
       is, the shorter interval the utilization monitor uses.

       EntryHystMS specifies a hysteresis threshold when system is in Low Power Mode.  If set, when the previous
       average  time stayed in Low Power Mode is lower than this value, the current enter Low Power Mode request
       will be ignored because it is expected that the system will exit Low Power Mode soon.  Setting  to  0  or
       leaving this empty disables this hysteresis algorithm.

       ExitHystMS  specifies  a  hysteresis  threshold  when  system is not in Low Power Mode.  If set, when the
       previous average time stayed out of Low-Power-Mode is lower than this value, the current exit  Low  Power
       Mode  request  will  be  ignored  because  it is expected that the system will enter Low Power Mode soon.
       Setting to 0 or leaving this empty disables this hysteresis algorithm.

FILE FORMAT

       The configuration file format conforms to XML specifications.

       <Configuration>
            <!--
                 CPU format example: 1,2,4..6,8-10
            -->
            <lp_mode_cpus>Example CPUs</lp_mode_cpus>

            <!--
                 Mode values
                 0: Cgroup v2
                 1: Cgroup v2 isolate
                 2: CPU idle injection
            -->
            <Mode>0|1|2</Mode>

            <!--
                 Default behavior when Performance power setting is used
                 -1: force off. (Never enter Low Power Mode)
                  1: force on. (Always stay in Low Power Mode)
                  0: auto. (opportunistic Low Power Mode enter/exit)
            -->
            <PerformanceDef>-1|0|1</PerformanceDef>

            <!--
                 Default behavior when Balanced power setting is used
                 -1: force off. (Never enter Low Power Mode)
                  1: force on. (Always stay in Low Power Mode)
                  0: auto. (opportunistic Low Power Mode enter/exit)
            -->
            <BalancedDef>-1|0|1</BalancedDef>

            <!--
                 Default behavior when Power saver setting is used
                 -1: force off. (Never enter Low Power Mode)
                  1: force on. (Always stay in Low Power Mode)
                  0: auto. (opportunistic Low Power Mode enter/exit)
            -->
            <PowersaverDef>-1|0|1</PowersaverDef>

            <!--
                 Use HFI LPM hints
                 0 : No
                 1 : Yes
            -->
            <HfiLpmEnable>0|1</HfiLpmEnable>

            <!--
                 Use HFI SUV hints
                 0 : No
                 1 : Yes
            -->
            <HfiSuvEnable>0|1</HfiSuvEnable>

            <!--
                 System utilization threshold to enter LP mode
                 from 0 - 100
            -->
            <util_entry_threshold>Example threshold</util_entry_threshold>

            <!--
                 System utilization threshold to exit LP mode
                 from 0 - 100
            -->
            <util_exit_threshold>Example threshold</util_exit_threshold>

            <!--
                 Entry delay. Minimum delay in non Low Power mode to
                 enter LPM mode.
            -->
            <EntryDelayMS>Example delay</EntryDelayMS>

            <!--
                 Exit delay. Minimum delay in Low Power mode to
                 exit LPM mode.
            -->
            <ExitDelayMS>Example delay</ExitDelayMS>

            <!--
                 Lowest hyst average in-LP-mode time in msec to enter LP mode
                 0: to disable hyst support
            -->
            <EntryHystMS>Example hyst</EntryHystMS>

            <!--
                 Lowest hyst average out-of-LP-mode time in msec to exit LP mode
                 0: to disable hyst support
            -->
            <ExitHystMS>Example hyst</ExitHystMS>

       </Configuration>

EXAMPLE CONFIGURATIONS

       Example 1: This is the minimum configuration.

       • lp_mode_cpus: not set. Detects the lp_mode_cpus automatically.

       • Mode: 0. Use cgroup-v2 systemd for task migration.

       • HfiLpmEnable: 0. Ignore HFI Low Power mode hints.

       • HfiSuvEnable: 0. Ignore HFI Survivability mode hints. With both HfiLpmEnable and HfiSuvEnable  cleared,
         the HFI monitor will be disabled.

       • util_entry_threshold: 0. Disable utilization monitor.

       • util_exit_threshold: 0. Disable utilization monitor.

       • EntryDelayMS: 0. Do not take effect when utilization monitor is disabled.

       • ExitDelayMS: 0. Do not take effect when utilization monitor is disabled.

       • EntryHystMS: 0. Do not take effect when utilization monitor is disabled.

       • ExitHystMS: 0. Do not take effect when utilization monitor is disabled.

         <?xml version="1.0"?>
         <Configuration>
              <lp_mode_cpus></lp_mode_cpus>
              <Mode>0</Mode>
              <HfiLpmEnable>0</HfiLpmEnable>
              <HfiSuvEnable>0</HfiSuvEnable>
              <util_entry_threshold>0</util_entry_threshold>
              <util_exit_threshold>0</util_exit_threshold>
              <EntryDelayMS>0</EntryDelayMS>
              <ExitDelayMS>0</ExitDelayMS>
              <EntryHystMS>0</EntryHystMS>
              <ExitHystMS>0</ExitHystMS>
         </Configuration>

       Example 2:
       This is the typical configuration. The utilization thresholds and delays may be different based on requirement.

       • lp_mode_cpus: not set. Detects the lp_mode_cpus automatically.

       • Mode: 0. Use cgroup-v2 systemd for task migration.

       • HfiLpmEnable: 1. Enter/Exit Low Power Mode based on HFI hints.

       • HfiSuvEnable: 1. Enter/Exit Survivability mode based on HFI hints.

       • util_entry_threshold: 5. Enter Low Power Mode when system utilization is lower than 5%.

       • util_exit_threshold: 95. Exit Low Power Mode when the utilization of any of the lp_mode_cpus is higher than 95%.

       • EntryDelayMS: 0. Resample every 1000ms when system is out of Low Power Mode.

       • ExitDelayMS: 0. Resample adaptively based on the utilization of lp_mode_cpus when system is in Low Power Mode.

       • EntryHystMS: 2000. Ignore the current Enter Low Power Mode request when the previous average time stayed in Low Power Mode is lower than 2000ms.

       • ExitHystMS: 3000. Ignore the current Exit Low Power Mode request when the previous average time stayed out of Low Power Mode is lower than 3000ms.

         <?xml version="1.0"?>
         <Configuration>
              <lp_mode_cpus></lp_mode_cpus>
              <Mode>0</Mode>
              <HfiLpmEnable>1</HfiLpmEnable>
              <HfiSuvEnable>1</HfiSuvEnable>
              <util_entry_threshold>5</util_entry_threshold>
              <util_exit_threshold>95</util_exit_threshold>
              <EntryDelayMS>0</EntryDelayMS>
              <ExitDelayMS>0</ExitDelayMS>
              <EntryHystMS>2000</EntryHystMS>
              <ExitHystMS>3000</ExitHystMS>
         </Configuration>

                                                   1 Jun 2023                           intel_lpmd_config.xml(5)