System runs slower when Connected to AC

Hi there,

I have a weird problem going on. When I disconnect my laptop from my charger, my system runs faster. This is very noticeable in games for example. Could this maybe be a faulty setting in TLP?

Hi @lorelai, and welcome!

It might very well be exactly that. Or it might not. :man_shrugging:

But anyway, please provide the output of:

cat /etc/tlp.conf

…as described below.


Please also note and heed: Forum Rules - Manjaro

Hope you manage!


:bangbang: Tip: :bangbang:

To provide terminal output, copy the text you wish to share, and paste it here, surrounded by three (3) backticks, a.k.a grave accents. Like this:

```
pasted text
```

Or three (3) tilde signs, like this:

~~~
pasted text
~~~

This will just cause it to be rendered like this:

Portaest sed
elementum
cursus nisl nisi
hendrerit ac quis
sit
adipiscing
tortor sit leo commodo.

Instead of like this:

Portaest sed elementum cursus nisl nisi hendrerit ac quis sit adipiscing tortor sit leo commodo.

Alternatively, paste the text you wish to format as terminal output, select all pasted text, and click the </> button on the taskbar. This will indent the whole pasted section with one TAB, causing it to render the same way as described above.

Thereby improving legibility and making it much easier for those trying to be of assistance.


:bangbang::bangbang: Additionally

If your language isn’t English, please prepend any and all terminal commands with LC_ALL=C. For example:

LC_ALL=C bluetoothctl

This will just cause the terminal output to be in English, making it easier to understand and debug.

Thank you for the quick reply. Here’s the output of /etc/tlp.conf

# ------------------------------------------------------------------------------
# /etc/tlp.conf - TLP user configuration
# See full explanation: https://linrunner.de/en/tlp/docs/tlp-configuration.html
#
# New configuration scheme (TLP 1.3). Settings are read in the following order:

# 1. Intrinsic defaults
# 2. /etc/tlp.d/*.conf - Drop-in customization snippets
# 3. /etc/tlp.conf     - User configuration (this file)
#
# Notes:
# - In case of identical parameters, the last occurence has precedence
# - This also means, parameters enabled here will override anything else
# - IMPORTANT: all parameters here are disabled, remove the leading '#'
#   to enable them; shown values may be suggestions rather than defaults
# - Default *: intrinsic default that is effective when the parameter is missing
#     or disabled by a leading '#'; use PARAM="" to disable an intrinsic default
# - Default <none>: do nothing or use kernel/hardware defaults

# ------------------------------------------------------------------------------
# tlp - Parameters for power saving

# Set to 0 to disable, 1 to enable TLP.
# Default: 1

#TLP_ENABLE=1

# Operation mode when no power supply can be detected: AC, BAT.
# Concerns some desktop and embedded hardware only.
# Default: <none>

#TLP_DEFAULT_MODE=AC

# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
# Note: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
# Default: 0

#TLP_PERSISTENT_DEFAULT=0

# Power supply class to ignore when determining operation mode: AC, BAT.
# Note: try on laptops where operation mode AC/BAT is incorrectly detected.
# Default: <none>

#TLP_PS_IGNORE=BAT

# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
# Default: 0 (AC), 2 (BAT)

#DISK_IDLE_SECS_ON_AC=0
#DISK_IDLE_SECS_ON_BAT=2

# Dirty page values (timeouts in secs).
# Default: 15 (AC), 60 (BAT)

#MAX_LOST_WORK_SECS_ON_AC=15
#MAX_LOST_WORK_SECS_ON_BAT=60

# Note: CPU parameters below are disabled by default, remove the leading #
# to enable them, otherwise kernel defaults will be used.
#
# Select a CPU frequency scaling governor.
# Intel Core i processor with intel_pstate driver:
#   powersave(*), performance.
# Other hardware with acpi-cpufreq driver:
#   ondemand(*), powersave, performance, conservative, schedutil.
# (*) is recommended.
# Use tlp-stat -p to show the active driver and available governors.
# Important:
#   powersave for intel_pstate and ondemand for acpi-cpufreq are power
#   efficient for *almost all* workloads and therefore kernel and most
#   distributions have chosen them as defaults. If you still want to change,
#   you should know what you're doing!
# Default: <none>

#CPU_SCALING_GOVERNOR_ON_AC=powersave
#CPU_SCALING_GOVERNOR_ON_BAT=powersave

# Set the min/max frequency available for the scaling governor.
# Possible values depend on your CPU. For available frequencies see
# the output of tlp-stat -p.
# Default: <none>

#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=0
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=0

# Set Intel CPU energy/performance policies HWP.EPP and EPB:
#   performance, balance_performance, default, balance_power, power
# Values are given in order of increasing power saving.
# Notes:
# - Requires an Intel Core i processor
# - HWP.EPP requires kernel 4.10 and intel_pstate driver
# - EPB requires kernel 5.2 or module msr and x86_energy_perf_policy
#   from linux-tools
# - When HWP.EPP is available, EPB is not set
# Default: balance_performance (AC), balance_power (BAT)

#CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
#CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power

# Set Intel CPU P-state performance: 0..100 (%).
# Limit the max/min P-state to control the power dissipation of the CPU.
# Values are stated as a percentage of the available performance.
# Requires an Intel Core i processor with intel_pstate driver.
# Default: <none>

#CPU_MIN_PERF_ON_AC=0
#CPU_MAX_PERF_ON_AC=100
#CPU_MIN_PERF_ON_BAT=0
#CPU_MAX_PERF_ON_BAT=30

# Set the CPU "turbo boost" feature: 0=disable, 1=allow
# Requires an Intel Core i processor.
# Important:
# - This may conflict with your distribution's governor settings
# - A value of 1 does *not* activate boosting, it just allows it
# Default: <none>

#CPU_BOOST_ON_AC=1
#CPU_BOOST_ON_BAT=0

# Minimize number of used CPU cores/hyper-threads under light load conditions:
#   0=disable, 1=enable.
# Default: 0 (AC), 1 (BAT)

#SCHED_POWERSAVE_ON_AC=0
#SCHED_POWERSAVE_ON_BAT=1

# Kernel NMI Watchdog:
#   0=disable (default, saves power), 1=enable (for kernel debugging only).
# Default: 0

#NMI_WATCHDOG=0

# Change CPU voltages aka "undervolting" - Kernel with PHC patch required.
# Frequency voltage pairs are written to:
#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
# CAUTION: only use this, if you thoroughly understand what you are doing!
# Default: <none>.

#PHC_CONTROLS="F:V F:V F:V F:V"

# Disk devices; separate multiple devices with spaces.
# Devices can be specified by disk ID also (lookup with: tlp diskid).
# Note: DISK parameters below are effective only when this option is configured.
# Default: "nvme0n1 sda"

#DISK_DEVICES="nvme0n1 sda"

# Disk advanced power management level: 1..254, 255 (max saving, min, off).
# Levels 1..127 may spin down the disk; 255 allowable on most drives.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk.
# Default: 254 (AC), 128 (BAT)

#DISK_APM_LEVEL_ON_AC="254 254"
#DISK_APM_LEVEL_ON_BAT="128 128"

# Hard disk spin down timeout:
#   0:        spin down disabled
#   1..240:   timeouts from 5s to 20min (in units of 5s)
#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
# See 'man hdparm' for details.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk.
# Default: <none>

#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"

# Select I/O scheduler for the disk devices.
# Multi queue (blk-mq) schedulers:
#   mq-deadline(*), none, kyber, bfq
# Single queue schedulers:
#   deadline(*), cfq, bfq, noop
# (*) recommended.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the kernel default scheduler for the particular disk.
# Notes:
# - Multi queue (blk-mq) may need kernel boot option 'scsi_mod.use_blk_mq=1'
#   and 'modprobe mq-deadline-iosched|kyber|bfq' on kernels < 5.0
# - Single queue schedulers are legacy now and were removed together with
#   the old block layer in kernel 5.0
# Default: keep

#DISK_IOSCHED="mq-deadline mq-deadline"

# AHCI link power management (ALPM) for disk devices:
#   min_power, med_power_with_dipm(*), medium_power, max_performance.
# (*) Kernel >= 4.15 required, then recommended.
# Multiple values separated with spaces are tried sequentially until success.
# Default:
#  - "med_power_with_dipm max_performance" (AC)
#  - "med_power_with_dipm min_power" (BAT)

#SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
#SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"

# Exclude host devices from AHCI link power management.
# Separate multiple hosts with spaces.
# Default: <none>

#SATA_LINKPWR_BLACKLIST="host1"

# Runtime Power Management for AHCI host and disks devices:
#   on=disable, auto=enable.
# EXPERIMENTAL ** WARNING: auto may cause system lockups/data loss.
# Default: <none>

#AHCI_RUNTIME_PM_ON_AC=on
#AHCI_RUNTIME_PM_ON_BAT=on

# Seconds of inactivity before disk is suspended.
# Note: effective only when AHCI_RUNTIME_PM_ON_AC/BAT is activated.
# Default: 15

#AHCI_RUNTIME_PM_TIMEOUT=15

# PCI Express Active State Power Management (PCIe ASPM):
#   default(*), performance, powersave, powersupersave.
# (*) keeps BIOS ASPM defaults (recommended)
# Default: <none>

#PCIE_ASPM_ON_AC=default
#PCIE_ASPM_ON_BAT=default

# Set the min/max/turbo frequency for the Intel GPU.
# Possible values depend on your hardware. For available frequencies see
# the output of tlp-stat -g.
# Default: <none>

#INTEL_GPU_MIN_FREQ_ON_AC=0
#INTEL_GPU_MIN_FREQ_ON_BAT=0
#INTEL_GPU_MAX_FREQ_ON_AC=0
#INTEL_GPU_MAX_FREQ_ON_BAT=0
#INTEL_GPU_BOOST_FREQ_ON_AC=0
#INTEL_GPU_BOOST_FREQ_ON_BAT=0

# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
# auto = mid on BAT, high on AC.
# Default: default

#RADEON_POWER_PROFILE_ON_AC=default
#RADEON_POWER_PROFILE_ON_BAT=default

# Radeon dynamic power management method (DPM): battery, performance.
# Default: <none>

#RADEON_DPM_STATE_ON_AC=performance
#RADEON_DPM_STATE_ON_BAT=battery

# Radeon DPM performance level: auto, low, high; auto is recommended.
# Note: effective only when RADEON_DPM_STATE_ON_AC/BAT is activated.
# Default: auto

#RADEON_DPM_PERF_LEVEL_ON_AC=auto
#RADEON_DPM_PERF_LEVEL_ON_BAT=auto

# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
# Default: off (AC), on (BAT)

#WIFI_PWR_ON_AC=off
#WIFI_PWR_ON_BAT=on

# Disable wake on LAN: Y/N.
# Default: Y

#WOL_DISABLE=Y

# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables, >=1 enables power saving (recommended: 1).
# Default: 0 (AC), 1 (BAT)

#SOUND_POWER_SAVE_ON_AC=0
#SOUND_POWER_SAVE_ON_BAT=1

# Disable controller too (HDA only): Y/N.
# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
# Default: Y

#SOUND_POWER_SAVE_CONTROLLER=Y

# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
# Drive can be powered on again by releasing (and reinserting) the eject lever
# or by pressing the disc eject button on newer models.
# Note: an UltraBay/MediaBay hard disk is never powered off.
# Default: 0

#BAY_POWEROFF_ON_AC=0
#BAY_POWEROFF_ON_BAT=0

# Optical drive device to power off
# Default: sr0

#BAY_DEVICE="sr0"

# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
# Default: on (AC), auto (BAT)

#RUNTIME_PM_ON_AC=on
#RUNTIME_PM_ON_BAT=auto

# Exclude PCI(e) device adresses the following list from Runtime PM
# (separate with spaces). Use lspci to get the adresses (1st column).
# Default: <none>

#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"

# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
# Default when unconfigured is "amdgpu nouveau nvidia radeon" which
# prevents accidential power-on of dGPU in hybrid graphics setups.
# Separate multiple drivers with spaces.
# Default: "amdgpu mei_me nouveau nvidia pcieport radeon", use "" to disable
# completely.

#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu mei_me nouveau nvidia pcieport radeon"

# Set to 0 to disable, 1 to enable USB autosuspend feature.
# Default: 1

#USB_AUTOSUSPEND=1

# Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids.
# Note: input devices (usbhid) are excluded automatically
# Default: <none>

#USB_BLACKLIST="1111:2222 3333:4444"

# Bluetooth devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude.
# Default: 0

#USB_BLACKLIST_BTUSB=0

# Phone devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude (enable charging).
# Default: 0

#USB_BLACKLIST_PHONE=0

# Printers are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude.
# Default: 1

#USB_BLACKLIST_PRINTER=1

# WWAN devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude.
# Default: 0

#USB_BLACKLIST_WWAN=0

# Include listed devices into USB autosuspend even if already excluded
# by the blacklists above (separate with spaces). Use lsusb to get the ids.
# Default: <none>

#USB_WHITELIST="1111:2222 3333:4444"

# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
# Note: use as a workaround for USB devices that cause shutdown problems.
# Default: 0

#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=0

# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
# on system startup: 0=disable, 1=enable.
# Note: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
#   are ignored when this is enabled.
# Default: 0

#RESTORE_DEVICE_STATE_ON_STARTUP=0

# Radio devices to disable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
# Default: <none>

#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"

# Radio devices to enable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
# Default: <none>

#DEVICES_TO_ENABLE_ON_STARTUP="wifi"

# Radio devices to disable on shutdown: bluetooth, wifi, wwan.
# Note: use as a workaround for devices that are blocking shutdown.
# Default: <none>

#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"

# Radio devices to enable on shutdown: bluetooth, wifi, wwan.
# (to prevent other operating systems from missing radios).
# Default: <none>

#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"

# Radio devices to enable on AC: bluetooth, wifi, wwan.
# Default: <none>

#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"

# Radio devices to disable on battery: bluetooth, wifi, wwan.
# Default: <none>

#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"

# Radio devices to disable on battery when not in use (not connected):
#   bluetooth, wifi, wwan.
# Default: <none>

#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"

# Battery charge thresholds (ThinkPad only).
# May require external kernel module(s), refer to the output of tlp-stat -b.
# Charging starts when the remaining capacity falls below the
# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH
# value.

# Main / Internal battery (values in %)
# Default: <none>

START_CHARGE_THRESH_BAT0=60
STOP_CHARGE_THRESH_BAT0=75

# Ultrabay / Slice / Replaceable battery (values in %)
# Default: <none>

#START_CHARGE_THRESH_BAT1=75
#STOP_CHARGE_THRESH_BAT1=80

# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
# Default: 0

#RESTORE_THRESHOLDS_ON_BAT=1

# Battery feature drivers: 0=disable, 1=enable
# Default: 1 (all)

#NATACPI_ENABLE=1
#TPACPI_ENABLE=1
#TPSMAPI_ENABLE=1

# ------------------------------------------------------------------------------
# tlp-rdw - Parameters for the radio device wizard

# Possible devices: bluetooth, wifi, wwan.
# Separate multiple radio devices with spaces.
# Default: <none> (for all parameters below)

# Radio devices to disable on connect.

#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"

# Radio devices to enable on disconnect.

#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""

# Radio devices to enable/disable when docked.

#DEVICES_TO_ENABLE_ON_DOCK=""
#DEVICES_TO_DISABLE_ON_DOCK=""

# Radio devices to enable/disable when undocked.

#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
#DEVICES_TO_DISABLE_ON_UNDOCK=""

Well, everything except these two setting are disabled (commented out):

I think the scaling governors,

…should be the following:

CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave

…and enabled (uncommented).

More than that, sadly I don’t know and can’t help, since I use a desktop.

1 Like

Unfortunately it did not seem to have an effect. Thank you for trying to help though.

1 Like

Please provide the output of:

sudo tlp-stat
--- TLP 1.6.1 --------------------------------------------

+++ Configured Settings:
defaults.conf L0006: TLP_ENABLE="1"
defaults.conf L0007: TLP_WARN_LEVEL="3"
defaults.conf L0008: TLP_PERSISTENT_DEFAULT="0"
defaults.conf L0009: DISK_IDLE_SECS_ON_AC="0"
defaults.conf L0010: DISK_IDLE_SECS_ON_BAT="2"
defaults.conf L0011: MAX_LOST_WORK_SECS_ON_AC="15"
defaults.conf L0012: MAX_LOST_WORK_SECS_ON_BAT="60"
/etc/tlp.conf L0100: CPU_ENERGY_PERF_POLICY_ON_AC="performance"
defaults.conf L0014: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
defaults.conf L0015: NMI_WATCHDOG="0"
defaults.conf L0016: DISK_DEVICES="nvme0n1 sda"
defaults.conf L0017: DISK_APM_LEVEL_ON_AC="254 254"
defaults.conf L0018: DISK_APM_LEVEL_ON_BAT="128 128"
defaults.conf L0019: DISK_APM_CLASS_DENYLIST="usb ieee1394"
defaults.conf L0020: DISK_IOSCHED="keep keep"
defaults.conf L0021: SATA_LINKPWR_ON_AC="med_power_with_dipm"
defaults.conf L0022: SATA_LINKPWR_ON_BAT="med_power_with_dipm"
defaults.conf L0023: AHCI_RUNTIME_PM_ON_AC="on"
defaults.conf L0024: AHCI_RUNTIME_PM_ON_BAT="auto"
defaults.conf L0025: AHCI_RUNTIME_PM_TIMEOUT="15"
defaults.conf L0026: PCIE_ASPM_ON_AC="default"
defaults.conf L0027: PCIE_ASPM_ON_BAT="default"
/etc/tlp.conf L0258: RADEON_DPM_PERF_LEVEL_ON_AC="high"
defaults.conf L0029: RADEON_DPM_PERF_LEVEL_ON_BAT="auto"
/etc/tlp.conf L0245: RADEON_POWER_PROFILE_ON_AC="high"
defaults.conf L0031: RADEON_POWER_PROFILE_ON_BAT="default"
defaults.conf L0032: WIFI_PWR_ON_AC="off"
defaults.conf L0033: WIFI_PWR_ON_BAT="on"
defaults.conf L0034: WOL_DISABLE="Y"
defaults.conf L0035: SOUND_POWER_SAVE_ON_AC="1"
defaults.conf L0036: SOUND_POWER_SAVE_ON_BAT="1"
defaults.conf L0037: SOUND_POWER_SAVE_CONTROLLER="Y"
defaults.conf L0038: BAY_POWEROFF_ON_AC="0"
defaults.conf L0039: BAY_POWEROFF_ON_BAT="0"
defaults.conf L0040: BAY_DEVICE="sr0"
defaults.conf L0041: RUNTIME_PM_ON_AC="on"
defaults.conf L0042: RUNTIME_PM_ON_BAT="auto"
defaults.conf L0043: RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon"
defaults.conf L0044: USB_AUTOSUSPEND="1"
defaults.conf L0045: USB_EXCLUDE_AUDIO="1"
defaults.conf L0046: USB_EXCLUDE_BTUSB="0"
defaults.conf L0047: USB_EXCLUDE_PHONE="0"
defaults.conf L0048: USB_EXCLUDE_PRINTER="1"
defaults.conf L0049: USB_EXCLUDE_WWAN="0"
defaults.conf L0050: RESTORE_DEVICE_STATE_ON_STARTUP="0"
defaults.conf L0051: RESTORE_THRESHOLDS_ON_BAT="0"
defaults.conf L0052: NATACPI_ENABLE="1"
defaults.conf L0053: TPACPI_ENABLE="1"
defaults.conf L0054: TPSMAPI_ENABLE="1"
/etc/tlp.conf L0076: CPU_SCALING_GOVERNOR_ON_AC="performance"
/etc/tlp.conf L0077: CPU_SCALING_GOVERNOR_ON_BAT="powersave"
/etc/tlp.conf L0121: CPU_BOOST_ON_AC="1"
/etc/tlp.conf L0251: RADEON_DPM_STATE_ON_AC="performance"
/etc/tlp.conf L0252: RADEON_DPM_STATE_ON_BAT="battery"
/etc/tlp.conf L0425: START_CHARGE_THRESH_BAT0="60"
/etc/tlp.conf L0426: STOP_CHARGE_THRESH_BAT0="75"

+++ System Info
System         = LENOVO ThinkPad L15 Gen 1 20U8S0AH00
BIOS           = R19ET44W (1.28 )
EC Firmware    = 1.17
OS Release     = Manjaro Linux
Kernel         = 6.1.55-1-MANJARO #1 SMP PREEMPT_DYNAMIC Sat Sep 23 12:13:56 UTC 2023 x86_64
/proc/cmdline  = BOOT_IMAGE=/boot/vmlinuz-6.1-x86_64 root=UUID=5b2ff856-9291-4dbb-ad92-f52f99b47a10 rw acpi_backlight=native iommu=soft quiet apparmor=1 security=apparmor resume=UUID=4c8d1270-0d97-4a03-bb6d-720dcc619da3 udev.log_priority=3
Init system    = systemd 
Boot mode      = UEFI
Suspend mode   = s2idle [deep]

+++ TLP Status
State          = enabled
RDW state      = not installed
Last run       = 11:50:24, 434 sec(s) ago
Mode           = AC
Power source   = AC

+++ Processor
CPU model      = AMD Ryzen 7 PRO 4750U with Radeon Graphics

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = acpi-cpufreq
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = performance
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = conservative ondemand userspace powersave performance schedutil 
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =  1400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  1700000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies = 1700000 1600000 1400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq  =  1400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq  =  1700000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/bios_limit        =  1700000 [kHz]

/sys/devices/system/cpu/cpu1..cpu15: omitted for clarity, use -v to show all

/sys/devices/system/cpu/cpufreq/boost                  = 1
/sys/module/workqueue/parameters/power_efficient       = Y
/proc/sys/kernel/nmi_watchdog                          = 0

+++ Platform Profile
/sys/firmware/acpi/platform_profile                    = balanced
/sys/firmware/acpi/platform_profile_choices            = low-power balanced performance
/sys/devices/platform/thinkpad_acpi/dytc_lapmode       = 0

+++ Temperatures
/proc/acpi/ibm/thermal = 70 -128 0 0 0 0 0 -128 [°C]
/proc/acpi/ibm/fan     =  4346 [/min]

+++ File System
/proc/sys/vm/laptop_mode               =     0
/proc/sys/vm/dirty_writeback_centisecs =  1500
/proc/sys/vm/dirty_expire_centisecs    =  1500
/proc/sys/vm/dirty_ratio               =    20
/proc/sys/vm/dirty_background_ratio    =    10

+++ Disks
Devices = nvme0n1 sda

/dev/nvme0n1:
  Type       = NVMe
  Disk ID    = nvme-WDC_PC_SN730_SDBQNTY-1T00-1001_2018JC479403
  Model      = WDC PC SN730 SDBQNTY-1T00-1001          
  Firmware   = 11170101
  Temp       = 48 °C
  Scheduler  = [none] mq-deadline kyber bfq (multi queue)

  Runtime PM:
    /sys/block/nvme0n1/device/power/control = on, autosuspend_delay_ms = (not available)

  SMART info:
    Critical Warning:                   0x00
    Temperature:                        48 Celsius
    Available Spare:                    100%
    Available Spare Threshold:          10%
    Percentage Used:                    4%
    Data Units Written:                 105.806.862 [54,1 TB]
    Power Cycles:                       4.093
    Power On Hours:                     3.193
    Unsafe Shutdowns:                   65
    Media and Data Integrity Errors:    0

/dev/sda: not present.

+++ AMD Radeon Graphics
/sys/class/drm/card0/device/driver                                = amdgpu

/sys/class/drm/card0/device/power_dpm_force_performance_level     = high

+++ Wireless
bluetooth = on
nfc       = none (no device)
wifi      = on
wwan      = none (no device)

hci0(btusb)                   : bluetooth, not connected
wlp3s0(iwlwifi)               : wifi, connected, power management = off

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save            = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = [default] performance powersave powersupersave

+++ PCIe Runtime Power Management
Enable devices    = (disabled)
Disable devices   = (disabled)
Device denylist   = (disabled)
Driver denylist   = mei_me nouveau radeon

/sys/bus/pci/devices/0000:00:00.0/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:00.2/power/control = on   (0x080600, IOMMU, no driver)
/sys/bus/pci/devices/0000:00:01.0/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:02.0/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:02.1/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:02.2/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:02.3/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:02.4/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:08.0/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:08.1/power/control = on   (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:14.0/power/control = on   (0x0c0500, SMBus, piix4_smbus)
/sys/bus/pci/devices/0000:00:14.3/power/control = on   (0x060100, ISA bridge, no driver)
/sys/bus/pci/devices/0000:00:18.0/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:18.1/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:18.2/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:18.3/power/control = on   (0x060000, Host bridge, k10temp)
/sys/bus/pci/devices/0000:00:18.4/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:18.5/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:18.6/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:18.7/power/control = on   (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:01:00.0/power/control = on   (0x010802, Non-Volatile memory controller, nvme)
/sys/bus/pci/devices/0000:02:00.0/power/control = on   (0x020000, Ethernet controller, r8169)
/sys/bus/pci/devices/0000:02:00.1/power/control = on   (0x070002, Serial controller, serial)
/sys/bus/pci/devices/0000:02:00.2/power/control = on   (0x070002, Serial controller, serial)
/sys/bus/pci/devices/0000:02:00.3/power/control = on   (0x0c0701, IPMI Interface, no driver)
/sys/bus/pci/devices/0000:02:00.4/power/control = on   (0x0c0320, USB controller, ehci-pci)
/sys/bus/pci/devices/0000:03:00.0/power/control = on   (0x028000, Network controller, iwlwifi)
/sys/bus/pci/devices/0000:04:00.0/power/control = on   (0xff0000, Unassigned class [ff00], rtsx_pci)
/sys/bus/pci/devices/0000:06:00.0/power/control = on   (0x030000, VGA compatible controller, amdgpu)
/sys/bus/pci/devices/0000:06:00.1/power/control = on   (0x040300, Audio device, snd_hda_intel)
/sys/bus/pci/devices/0000:06:00.2/power/control = on   (0x108000, Encryption controller, ccp)
/sys/bus/pci/devices/0000:06:00.3/power/control = on   (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:06:00.4/power/control = on   (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:06:00.5/power/control = on   (0x048000, Multimedia controller, no driver)
/sys/bus/pci/devices/0000:06:00.6/power/control = on   (0x040300, Audio device, snd_hda_intel)

+++ USB
Autosuspend       = enabled
Device allowlist  = (not configured)
Device denylist   = (not configured)
Exclude audio     = enabled
Exclude bluetooth = disabled
Exclude phones    = disabled
Exclude printers  = enabled
Exclude WWAN      = disabled

Bus 005 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms =    0 -- Linux Foundation 3.0 root hub (hub)
Bus 004 Device 004 ID 8087:0029 control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. AX200 Bluetooth (btusb)
Bus 004 Device 003 ID 13d3:56fb control = auto, autosuspend_delay_ms = 2000 -- IMC Networks Integrated Camera (uvcvideo)
Bus 004 Device 002 ID 046d:c537 control = on,   autosuspend_delay_ms = 2000 -- Logitech, Inc. Cordless Mouse Receiver (usbhid)
Bus 004 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =    0 -- Linux Foundation 2.0 root hub (hub)
Bus 003 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms =    0 -- Linux Foundation 3.0 root hub (hub)
Bus 002 Device 004 ID 27c6:55b4 control = auto, autosuspend_delay_ms = 2000 -- Shenzhen Goodix Technology Co.,Ltd. Fingerprint Reader (no driver)
Bus 002 Device 003 ID 058f:9540 control = auto, autosuspend_delay_ms = 2000 -- Alcor Micro Corp. AU9540 Smartcard Reader (usbfs)
Bus 002 Device 002 ID 0c76:161e control = on,   autosuspend_delay_ms = 2000 -- JMTek, LLC. USB PnP Audio Device (snd-usb-audio, usbhid)
Bus 002 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =    0 -- Linux Foundation 2.0 root hub (hub)
Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =    0 -- Linux Foundation 2.0 root hub (hub)

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = LNV-5B10W13895
/sys/class/power_supply/BAT0/cycle_count                    =    637
/sys/class/power_supply/BAT0/energy_full_design             =  45280 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  40980 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  14420 [mWh]
/sys/class/power_supply/BAT0/power_now                      =  23536 [mW]
/sys/class/power_supply/BAT0/status                         = Charging

/sys/class/power_supply/BAT0/charge_control_start_threshold =     60 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =     75 [%]
/sys/class/power_supply/BAT0/charge_behaviour               = [auto] inhibit-charge force-discharge

Charge                                                      =   35.2 [%]
Capacity                                                    =   90.5 [%]

+++ Recommendations
* Install ethtool to disable Wake-on-LAN

My CPU scaling is quite low when my laptop starts lagging. Does this have something to do with it?

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         48 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  16
  On-line CPU(s) list:   0-15
Vendor ID:               AuthenticAMD
  Model name:            AMD Ryzen 7 PRO 4750U with Radeon Graphics
    CPU family:          23
    Model:               96
    Thread(s) per core:  2
    Core(s) per socket:  8
    Socket(s):           1
    Stepping:            1
    Frequency boost:     enabled
    CPU(s) scaling MHz:  24%
    CPU max MHz:         1700,0000
    CPU min MHz:         1400,0000
    BogoMIPS:            3394,84
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc
                         cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misaligns
                         se 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bm
                         i2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv
                         svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca
Virtualization features:
  Virtualization:        AMD-V
Caches (sum of all):
  L1d:                   256 KiB (8 instances)
  L1i:                   256 KiB (8 instances)
  L2:                    4 MiB (8 instances)
  L3:                    8 MiB (2 instances)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-15
Vulnerabilities:
  Gather data sampling:  Not affected
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Not affected
  Retbleed:              Mitigation; untrained return thunk; SMT enabled with STIBP protection
  Spec rstack overflow:  Mitigation; safe RET
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, STIBP always-on, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected

My suggestion - at least as a temporary measure:
disable TLP (the service) completely

I think (vs: I know) that TLP was superceded by … someting else (upower is the name, I think)
Perhaps you have both running and interfering with each other.
Don’t know …

Take TLP out of the picture by disabling it.

systemctl status tlp.service
systemctl stop tlp.service
systemctl disable tlp.service

is what I’d do to check and be sure to have it disabled

I’d reboot afterwards, to make sure no settings TLP might have made are still in effect even after stopping and disabling it.
The settings are “one shot” - they are not reset when TLP service is shut down.

1 Like

cpupower replaced tlp for control of CPU governor

To check cpupower for all CPU cores

sudo cpupower -c all frequency-info

To change governor to performance

sudo cpupower frequency-set -g performance

This change is not persistent so system will revert back to original governor when restarted

For persistent governor configuration edit /etc/default/cpupower and enable and start systemd service

systemctl enable cpupower.service --now

CPU frequency scaling - ArchWiki

3 Likes

Thank you for your replies. Running tlp bat seems to bring back performance to acceptable levels.
I’ll try your suggestions and see if they work for me.