Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message

x2100 power consumption (C-states)

Old(er) Thinkpads with New(er) Intestines: X62/T50/T70/X210/X330 etc.
Post Reply
Message
Author
gevor
Posts: 27
Joined: Mon Feb 15, 2021 6:48 am
Location: Portugal

x2100 power consumption (C-states)

#1 Post by gevor » Mon Feb 15, 2021 7:42 am

Hi,

I got my x2100 from xytech (thnx!) recently and now I am trying to fine-tune it, specifically to minimize power consumtion.

Currrently power consumption in idle is around 8.6W, a bit too much even considering 1920x1200 screen (I know, no PSR there; I did not know it initially and wanted to keep the webcamera, but now I am thinking about buying a 12.6" panel and replacing it). One of the reasons might be that the CPU does not go below C3 state, e.g. powerstat:
C-State    Resident      Count Latency 
C3_ACPI     59.985%      15374    1034
C2_ACPI     28.720%      21108     151
C1_ACPI      2.067%       6595       1
POLL         0.000%          5       0
C0           9.228%
I tried to apply some of the x210 magic described in this forum, but no luck so far. Looks like something is stopping CPU from entering C4+ and I am not sure what: probably I missed smth somewhere.

Any advice on where to look would be much appreciated.


***


Current config:

(0) CPU is i10710u, WiFi card is Intel AX200

(1) In BIOS states up to C10 are enabled

(2) ASPM is on in BIOS and seems to be working (please correct me if I am wrong)
#  lspci -vvv | grep -i aspm
                LnkCap: Port #7, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
                        ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCap: Port #9, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
                        ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCap: Port #13, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
                        ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <8us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
(3) Changed Realtek driver to r8168

(4) Kernel 5.10, paremeters: drm.vblankoffdelay=1 nvme_core.default_ps_max_latency_us=800000000 pcie_aspm=force i915.modeset=1 i915.enable_fbc=1 i915.enable_dc=2 i915.enable_psr=2 r8168.aspm=1 r8168.eee_enable=1 r8168.hwoptimize=1 r8168.debug=0 i915.enable_guc=3 ath9k.btcoex_enable=0 ath9k.ps_enable=1 ath9k.blink=1 ath9k.bt_ant_diversity=1 i915.disable_power_well=1 nmi_watchdog=0

(5) SSD is PCIe Samsung. Now, I am bit puzzled here - looks like ASPM is working, but I am not sure if it switches on to the lower-consumption states ("non-operational") and I am not sure how to check it.
# smartctl -a /dev/nvme0 
...
Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     7.50W       -        -    0  0  0  0        0       0
 1 +     5.90W       -        -    1  1  1  1        0       0
 2 +     3.60W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3      210    1200
 4 -   0.0050W       -        -    4  4  4  4     2000    8000
# nvme get-feature -f 0x0c -H /dev/nvme0                                            
get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
        Autonomous Power State Transition Enable (APSTE): Enabled
        Auto PST Entries        .................
        Entry[ 0]   
        .................
        Idle Time Prior to Transition (ITPT): 71 ms
        Idle Transition Power State   (ITPS): 3
        .................
        Entry[ 1]   
        .................
        Idle Time Prior to Transition (ITPT): 71 ms
        Idle Transition Power State   (ITPS): 3
        .................
        Entry[ 2]   
        .................
        Idle Time Prior to Transition (ITPT): 71 ms
        Idle Transition Power State   (ITPS): 3
        .................
        Entry[ 3]   
        .................
        Idle Time Prior to Transition (ITPT): 500 ms
        Idle Transition Power State   (ITPS): 4
# nvme id-ctrl /dev/nvme0
ps    0 : mp:7.50W operational enlat:0 exlat:0 rrt:0 rrl:0
          rwt:0 rwl:0 idle_power:- active_power:-
ps    1 : mp:5.90W operational enlat:0 exlat:0 rrt:1 rrl:1
          rwt:1 rwl:1 idle_power:- active_power:-
ps    2 : mp:3.60W operational enlat:0 exlat:0 rrt:2 rrl:2
          rwt:2 rwl:2 idle_power:- active_power:-
ps    3 : mp:0.0700W non-operational enlat:210 exlat:1200 rrt:3 rrl:3
          rwt:3 rwl:3 idle_power:- active_power:-
ps    4 : mp:0.0050W non-operational enlat:2000 exlat:8000 rrt:4 rrl:4
          rwt:4 rwl:4 idle_power:- active_power:-
(6) Governor is powersave, driver intel_pstate

(7) BIOS v25, EC patch from jwise applied

(8) firmware-misc-nonfree for i915 installed. Without it I was getting:
    [    2.957592] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_04.bin failed with error -2
    [    2.957601] i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/kbl_dmc_ver1_04.bin. Disabling runtime power management.
But now it's fine.
And actually installing the firmware did not change power consumption at all.

***

So, if you have any ideas (even the wild ones) on what might have gone wrong - please let me know!

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “51nb and other modded Thinkpads”

Who is online

Users browsing this forum: desertyears and 2 guests