Wind River Support Network

HomeDefectsLIN9-10375
Fixed

LIN9-10375 : Kernel errors : power_meter ACPI000D:00: Ignoring unsafe software power cap!

Created: Sep 21, 2020    Updated: Nov 30, 2020
Resolved Date: Oct 26, 2020
Found In Version: 9.0.0.20
Fix Version: 9.0.0.26
Severity: Standard
Applicable for: Wind River Linux 9
Component/s: Kernel

Description

"*power_meter ACPI000D:00: Ignoring unsafe software power cap!^M*"

This error message has been downplayed in newer kernel versions and it can be ignored. I have created this defect to get LTS19 commit backported into wrl9. We can find more details on this issue in commit b92d8e39fa7060302ad1c0e7227f0ecb2af0cb2d

:~/builds/WRLXLTS_19/rcpl0007/build-vmhost/tmp-glibc/work-shared/intel-x86-64/kernel-source$ *git show b92d8e39fa7060302ad1c0e7227f0ecb2af0cb2d*

commit b92d8e39fa7060302ad1c0e7227f0ecb2af0cb2d

Author: Wang Shenran <shenran268@gmail.com>

Date:  Wed Jul 24 11:01:10 2019 +0300

  hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap'

  [ Upstream commit 6e4d91aa071810deac2cd052161aefb376ecf04e ]

  At boot time, the acpi_power_meter driver logs the following error level

  message: "Ignoring unsafe software power cap". Having read about it from

  a few sources, it seems that the error message can be quite misleading.

  While the message can imply that Linux is ignoring the fact that the

  system is operating in potentially dangerous conditions, the truth is

  the driver found an ACPI_PMC object that supports software power

  capping. The driver simply decides not to use it, perhaps because it

  doesn't support the object.

  The best solution is probably changing the log level from error to warning.

  All sources I have found, regarding the error, have downplayed its

  significance. There is not much of a reason for it to be on error level,

  while causing potential confusions or misinterpretations.

  Signed-off-by: Wang Shenran <shenran268@gmail.com>

  Link: [https://lore.kernel.org/r/20190724080110.6952-1-shenran268@gmail.com]

  Signed-off-by: Guenter Roeck <linux@roeck-us.net>

  Signed-off-by: Sasha Levin <sashal@kernel.org>

diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c

index 6ba1a08253f0..4cf25458f0b9 100644

— a/drivers/hwmon/acpi_power_meter.c

+++ b/drivers/hwmon/acpi_power_meter.c

@@ -681,8 +681,8 @@ static int setup_attrs(struct acpi_power_meter_resource *resource)

    if (resource->caps.flags & POWER_METER_CAN_CAP) {

        if (!can_cap_in_hardware())

{ -            dev_err(&resource->acpi_dev->dev, -                "Ignoring unsafe software power cap!\n"); +            dev_warn(&resource->acpi_dev->dev, +                "Ignoring unsafe software power cap!\n");             goto skip_unsafe_cap;         }
----
 

Linux Kernel Version:
 -----------------------------
 Linux re0 *4.8.28*-WR2.2.1_standard-g30173b7 #1 SMP PREEMPT Thu Jul 16 14:42:12 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux

RCPL:
 ----------
 *WRL9 RCPL 20*

1) What could trigger this ACPI power meter notifications for power capping getting generated continuously?
 2) When we compared code with 5.2.19, we observed this errmsg in v5.2.19 marked to be dev_warn as opposed to be dev_err in 4.8.28 kernel.
 why is the log suppressed while code goes to handle error. What is the implication here.

Please do let me know if any further details needed.
 Logs:
 [ 1950.312697] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 1951.349637] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 1964.432708] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 1970.484729] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 1973.527658] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 1979.581668] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 1983.635762] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 1984.675809] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2003.767741] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2014.886337] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2014.972123] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2015.057184] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2015.142589] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2015.455617] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2016.391789] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2017.327854] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2017.640934] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2017.951711] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2018.367656] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2019.408045] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2020.447813] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2020.864673] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2020.967665] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2021.703837] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2022.119829] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2024.511602] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2026.903592] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2027.527711] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2028.567679] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2030.751632] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2033.567716] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2033.671494] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2033.983781] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2034.295754] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2034.503682] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2035.127739] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2036.167793] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2037.624522] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2039.391609] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2040.535789] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2040.743589] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2041.471802] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M
 [ 2043.343733] power_meter ACPI000D:00: Ignoring unsafe software power cap!^M

Workaround

NA

Steps to Reproduce

Reproducible in customer env.

Host - WR9.0.0.20

./wrlinux-9/setup.sh --dl-layers --distros wrlinux-ovp --machines intel-x86-64 --templates feature/initramfs,feature/kdump,feature/kexec,feature/kernel-ovp-kvm,feature/sysklogd,feature/dpdk,feature/package-management --layers wr-kernel wr-ovp

bitbake wrlinux-image-ovp-kvm

Deploy host image to target.
Live chat
Online