Skip to content

Performance cores still running in Low Power Mode #85

Description

@shadyabh

Hi.

My laptop has Core Ultra 7 155H and I am running Fedora 41 with kernel 6.13.6.

When I check the status of intel_lpmd.service I see that it enters low power mode but when checking the core usage I see that the P cores are still running even when idle or watching Youtube video.

Is this to be expected?

I am using MTL specific config file.

I started and enabled the service and then ran the command "intel_lpmd_control AUTO" (I also tried with ON instead of AUTO and got the same thing)

Thanks

Activity

  1. zhang-rui commented on Mar 17, 2025

    @zhang-rui
    Contributor

    that really depends.
    please paste the config file you're running with, and also the journal log when you think the cpus should be isolated while they are not.

  2. shadyabh commented on Mar 17, 2025

    @shadyabh
    Author

    I have been using the following file https://github.com/intel/intel-lpmd/blob/main/data/intel_lpmd_config_F6_M170.xml

    However, I then changed the values of the WLT states to the following:

            <CPUFamily> 6 </CPUFamily>
            <CPUModel> 170 </CPUModel>
            <CPUConfig> * </CPUConfig>
        <State>
            <ID> 1 </ID> <!-- no significance. number can be anything -->
            <Name> WLT_IDLE </Name>
            <WLTType> 0 </WLTType> <!-- WLTType mapped to Name -->
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>18,19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
        <State>
            <ID> 2 </ID>
            <Name> WLT_BATTERY_LIFE </Name>
            <WLTType> 1 </WLTType>
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>12-19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
        <State>
            <ID> 3 </ID>
            <Name> WLT_SUSTAINED </Name>
            <WLTType> 2 </WLTType>
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>0-19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
        <State>
            <ID> 4 </ID>
            <Name> WLT_BURSTY </Name>
            <WLTType> 3 </WLTType>
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>0,12-19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
    </States>
    

    I also changed 1 to 0 (otherwise the system does not sleep or shutdown).

    Now everything is working as it should be (I enable intel_lpmd only on battery, epp=255 is okay for me).

    This improved the battery life of my laptop significantly.

  3. sirber commented on Mar 17, 2025

    @sirber

    I have the same issue. Used to work, now with the same config file, power cores are always in use.

    My config:

    <?xml version="1.0"?>
    
    <!--
    Specifies the configuration data
    for Intel Energy Optimizer (LPMD) daemon
    -->
    
    <Configuration>
    	<!--
    		CPU format example: 1,2,4..6,8-10
    	-->
    	<lp_mode_cpus></lp_mode_cpus>
    
    	<!--
    		Mode values
    		0: Cgroup v2
    		1: Cgroup v2 isolate
    		2: CPU idle injection
    	-->
    	<Mode>0</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</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</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</PowersaverDef>
    
    	<!--
    		Use HFI LPM hints
    		0 : No
    		1 : Yes
    	-->
    	<HfiLpmEnable>0</HfiLpmEnable>
    
    	<!--
    		Use HFI SUV hints
    		0 : No
    		1 : Yes
    	-->
    	<HfiSuvEnable>0</HfiSuvEnable>
    
    	<!--
    		System utilization threshold to enter LP mode
    		from 0 - 100
    		clear both util_entry_threshold and util_exit_threshold to disable util monitor
    	-->
    	<util_entry_threshold>10</util_entry_threshold>
    
    	<!--
    		System utilization threshold to exit LP mode
    		from 0 - 100
    		clear both util_entry_threshold and util_exit_threshold to disable util monitor
    	-->
    	<util_exit_threshold>95</util_exit_threshold>
    
    	<!--
    		Entry delay. Minimum delay in non Low Power mode to
    		enter LPM mode.
    	-->
    	<EntryDelayMS>0</EntryDelayMS>
    
    	<!--
    		Exit delay. Minimum delay in Low Power mode to
    		exit LPM mode.
    	-->
    	<ExitDelayMS>0</ExitDelayMS>
    
    	<!--
    		Lowest hysteresis average in-LP-mode time in msec to enter LP mode
    		0: to disable hysteresis support
    	-->
    	<EntryHystMS>0</EntryHystMS>
    
    	<!--
    		Lowest hysteresis average out-of-LP-mode time in msec to exit LP mode
    		0: to disable hysteresis support
    	-->
    	<ExitHystMS>0</ExitHystMS>
    
    	<!--
    		Ignore ITMT setting during LP-mode enter/exit
    		0: disable ITMT upon LP-mode enter and re-enable ITMT upon LP-mode exit
    		1: do not touch ITMT setting during LP-mode enter/exit
    	-->
    	<IgnoreITMT>0</IgnoreITMT>
    
    </Configuration>
    

    mmmm looks like my config has been reset

    works again if I redo the config.

  4. zhang-rui commented on May 28, 2025

    @zhang-rui
    Contributor

    I have been using the following file https://github.com/intel/intel-lpmd/blob/main/data/intel_lpmd_config_F6_M170.xml

    However, I then changed the values of the WLT states to the following:

            <CPUFamily> 6 </CPUFamily>
            <CPUModel> 170 </CPUModel>
            <CPUConfig> * </CPUConfig>
        <State>
            <ID> 1 </ID> <!-- no significance. number can be anything -->
            <Name> WLT_IDLE </Name>
            <WLTType> 0 </WLTType> <!-- WLTType mapped to Name -->
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>18,19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
        <State>
            <ID> 2 </ID>
            <Name> WLT_BATTERY_LIFE </Name>
            <WLTType> 1 </WLTType>
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>12-19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
        <State>
            <ID> 3 </ID>
            <Name> WLT_SUSTAINED </Name>
            <WLTType> 2 </WLTType>
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>0-19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
        <State>
            <ID> 4 </ID>
            <Name> WLT_BURSTY </Name>
            <WLTType> 3 </WLTType>
            <EPP> 255 </EPP>
            <EPB> 15 </EPB>
            <ActiveCPUs>0,12-19</ActiveCPUs>
            <MinPollInterval>2000</MinPollInterval>
            <ITMTState> -1 </ITMTState>
            <IRQMigrate> -1 </IRQMigrate>
        </State>
    </States>
    

    I also changed 1 to 0 (otherwise the system does not sleep or shutdown).

    Now everything is working as it should be (I enable intel_lpmd only on battery, epp=255 is okay for me).

    This improved the battery life of my laptop significantly.

    Thanks. So everything works fine with you, right?

  5. JohnAZoidberg commented on Feb 22, 2026

    @JohnAZoidberg

    This improved the battery life of my laptop significantly.

    Thanks. So everything works fine with you, right?

    But does that mean the upstream config file here in this repo should be changed?

  6. sirber commented on Feb 22, 2026

    @sirber

    Fedora, I had to switch from the GIT project to the one that comes with Fedora. ChatGPT helped with the transition. Everything works fine now.

  7. JohnAZoidberg commented on Feb 25, 2026

    @JohnAZoidberg

    Fedora, I had to switch from the GIT project to the one that comes with Fedora. ChatGPT helped with the transition. Everything works fine now.

    Sorry you mean that you are using a config that is or is not equal to https://github.com/intel/intel-lpmd/blob/main/data/intel_lpmd_config_F6_M170.xml ?

  8. sirber commented on Feb 25, 2026

    @sirber

    I ment that using the git version stopped working proprely with the latest Fedora and I had to use the one that comes from Fedora packages. Then I had to migrate from the old service way to the new dbus way. ChatGPT helped with that.

    I'm using my own config, since no preset matches my CPU.

    Feb 25 07:44:11 sirber-devalto intel_lpmd[2983280]: Looking for config file /etc/intel_lpmd/intel_lpmd_config_F6_M154_T45.xml
    Feb 25 07:44:11 sirber-devalto intel_lpmd[2983280]: Looking for config file /etc/intel_lpmd/intel_lpmd_config_F6_M154.xml
    Feb 25 07:44:11 sirber-devalto intel_lpmd[2983280]: Reading configuration file /etc/intel_lpmd/intel_lpmd_config.xml
    
    processor	: 19
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 154
    model name	: 12th Gen Intel(R) Core(TM) i7-12700H
    stepping	: 3
    microcode	: 0x43b
    cpu MHz		: 3300.148
    cache size	: 24576 KB
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions