mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: Warnings `Could not retrieve perf counters (-19)` and `amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled` (Dell PowerEdge R7625, AMD EPYC 9174F)
       [not found]     ` <d09f52d8-e084-4875-9608-5b3db2554f3d@molgen.mpg.de>
@ 2025-01-28 15:08       ` Paul Menzel
  2025-02-11 16:12         ` Paul Menzel
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Menzel @ 2025-01-28 15:08 UTC (permalink / raw)
  To: Gautham Ranjal Shenoy, Mario Limonciello, Ray Huang,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86
  Cc: linux-pm, linux-acpi, LKML

[Cc: +x86 maintainers and ACPI list]

Dear Linux folks,


Am 28.01.25 um 11:49 schrieb Paul Menzel:

> Thank you for your quick replies. Gautham, messages with HTML are 
> rejected by Linux kernel lists.
> 
> 
> Am 28.01.25 um 04:51 schrieb Shenoy, Gautham Ranjal:
> 
>> As Mario mentioned, you need to enable the CPPC option. Looking for 
>> some of the Dell PowerEdge documentation, there is an option called 
>> "Collaborative CPU Performance Control" (https://www.dell.com/support/manuals/en-in/poweredge-r730/r730_ompublication/system-profile-settings-details?guid=guid-2e9b46a1-71e3-4072-9d86-db648757f0e6&lang=en-us).
>>
>> [cid:fe57df8f-3d99-4ea0-8f6e-b0daae49bb0e]
>> Can you please try enabling it ?
> 
> You quoted the Dell PowerEdge R730. I couldn’t find it in the *Dell 
> PowerEdge R7625 Installation and Service Manual* [1], and also it’s not 
> listed in the iDRAC9 Web site (attached with added `.txt` extension to 
> trick the Linux list).

The amd_pstate warning seems to be related to the perf counters warning 
Linux prints earlier:

     $ dmesg --level alert,crit,err,warn
     [    2.666393] Spectre V2 : WARNING: Unprivileged eBPF is enabled 
with eIBRS on, data leaks possible via Spectre v2 BHB attacks!
     [    8.109446] Could not retrieve perf counters (-19)
     [    9.386551] scsi 0:0:4:0: set ignore_delay_remove for handle(0x0012)
     [    9.487804] amd_pstate: the _CPC object is not present in SBIOS 
or ACPI disabled
     [   14.726193] wmi_bus wmi_bus-PNP0C14:00: [Firmware Bug]: WQBC 
data block query control method not found

x86 maintainers, the original report with the Linux logs attached is in 
the archive [3].

It looks like, there is something missing in the Dell firmware to enable 
the feature.

The perf counters warning is from `amd_set_max_freq_ratio()` in 
`arch/x86/kernel/acpi/cppc.c`:

```
static void amd_set_max_freq_ratio(void)
{
         struct cppc_perf_caps perf_caps;
         u64 numerator, nominal_perf;
         u64 perf_ratio;
         int rc;

         rc = cppc_get_perf_caps(0, &perf_caps);
         if (rc) {
                 pr_warn("Could not retrieve perf counters (%d)\n", rc);
                 return;
         }
         […]
}
```

With

     include/uapi/asm-generic/errno-base.h:#define	ENODEV		19	/* No such 
device */

this is returned by in `drivers/acpi/cppc_acpi.c`:

```
/**
  * cppc_get_perf_caps - Get a CPU's performance capabilities.
  * @cpunum: CPU from which to get capabilities info.
  * @perf_caps: ptr to cppc_perf_caps. See cppc_acpi.h
  *
  * Return: 0 for success with perf_caps populated else -ERRNO.
  */
int cppc_get_perf_caps(int cpunum, struct cppc_perf_caps *perf_caps)
{
         struct cpc_desc *cpc_desc = per_cpu(cpc_desc_ptr, cpunum);
         […]
         if (!cpc_desc) {
                 pr_debug("No CPC descriptor for CPU:%d\n", cpunum);
                 return -ENODEV;
         }
         […]
}
```

Just for your information.


Kind regards,

Paul


> PS:
> 
>> -- 
>>
>> Thanks and Regards
>>
>> Gautham.
> 
> Only if you care: Your signature delimiter misses a space at the end [2].
> 
> 
> [1]: https://www.dell.com/support/manuals/de-de/poweredge-r7625/per7625_ism_pub/system-profile-settings?guid=guid-9f6b6652-4079-45e7-90f5-1c8feee08ec0&lang=en-us
> [2]: https://en.wikipedia.org/wiki/Signature_block#Standard_delimiter
[3]: 
https://lore.kernel.org/linux-pm/d09f52d8-e084-4875-9608-5b3db2554f3d@molgen.mpg.de/T/#t

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Warnings `Could not retrieve perf counters (-19)` and `amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled` (Dell PowerEdge R7625, AMD EPYC 9174F)
  2025-01-28 15:08       ` Warnings `Could not retrieve perf counters (-19)` and `amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled` (Dell PowerEdge R7625, AMD EPYC 9174F) Paul Menzel
@ 2025-02-11 16:12         ` Paul Menzel
  2025-02-11 16:18           ` Mario Limonciello
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Menzel @ 2025-02-11 16:12 UTC (permalink / raw)
  To: Gautham Ranjal Shenoy, Mario Limonciello, Ray Huang,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86
  Cc: linux-pm, linux-acpi, LKML

Dear Linux folks,


Am 28.01.25 um 16:08 schrieb Paul Menzel:
> [Cc: +x86 maintainers and ACPI list]

> Am 28.01.25 um 11:49 schrieb Paul Menzel:
> 
>> Thank you for your quick replies. Gautham, messages with HTML are 
>> rejected by Linux kernel lists.
>>
>>
>> Am 28.01.25 um 04:51 schrieb Shenoy, Gautham Ranjal:
>>
>>> As Mario mentioned, you need to enable the CPPC option. Looking for 
>>> some of the Dell PowerEdge documentation, there is an option called 
>>> "Collaborative CPU Performance Control" (https://www.dell.com/ 
>>> support/manuals/en-in/poweredge-r730/r730_ompublication/system- 
>>> profile-settings-details?guid=guid-2e9b46a1-71e3-4072-9d86- 
>>> db648757f0e6&lang=en-us).
>>>
>>> [cid:fe57df8f-3d99-4ea0-8f6e-b0daae49bb0e]
>>> Can you please try enabling it ?
>>
>> You quoted the Dell PowerEdge R730. I couldn’t find it in the *Dell 
>> PowerEdge R7625 Installation and Service Manual* [1], and also it’s 
>> not listed in the iDRAC9 Web site (attached with added `.txt` 
>> extension to trick the Linux list).
> 
> The amd_pstate warning seems to be related to the perf counters warning 
> Linux prints earlier:
> 
>      $ dmesg --level alert,crit,err,warn
>      [    2.666393] Spectre V2 : WARNING: Unprivileged eBPF is enabled with eIBRS on, data leaks possible via Spectre v2 BHB attacks!
>      [    8.109446] Could not retrieve perf counters (-19)
>      [    9.386551] scsi 0:0:4:0: set ignore_delay_remove for handle(0x0012)
>      [    9.487804] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
>      [   14.726193] wmi_bus wmi_bus-PNP0C14:00: [Firmware Bug]: WQBC data block query control method not found
> 
> x86 maintainers, the original report with the Linux logs attached is in 
> the archive [3].
> 
> It looks like, there is something missing in the Dell firmware to enable 
> the feature.
> 
> The perf counters warning is from `amd_set_max_freq_ratio()` in `arch/ 
> x86/kernel/acpi/cppc.c`:
> 
> ```
> static void amd_set_max_freq_ratio(void)
> {
>          struct cppc_perf_caps perf_caps;
>          u64 numerator, nominal_perf;
>          u64 perf_ratio;
>          int rc;
> 
>          rc = cppc_get_perf_caps(0, &perf_caps);
>          if (rc) {
>                  pr_warn("Could not retrieve perf counters (%d)\n", rc);
>                  return;
>          }
>          […]
> }
> ```
> 
> With
> 
>      include/uapi/asm-generic/errno-base.h:#define    ENODEV        19    /* No such device */
> 
> this is returned by in `drivers/acpi/cppc_acpi.c`:
> 
> ```
> /**
>   * cppc_get_perf_caps - Get a CPU's performance capabilities.
>   * @cpunum: CPU from which to get capabilities info.
>   * @perf_caps: ptr to cppc_perf_caps. See cppc_acpi.h
>   *
>   * Return: 0 for success with perf_caps populated else -ERRNO.
>   */
> int cppc_get_perf_caps(int cpunum, struct cppc_perf_caps *perf_caps)
> {
>          struct cpc_desc *cpc_desc = per_cpu(cpc_desc_ptr, cpunum);
>          […]
>          if (!cpc_desc) {
>                  pr_debug("No CPC descriptor for CPU:%d\n", cpunum);
>                  return -ENODEV;
>          }
>          […]
> }
> ```

@AMD folks, just for clarity. Did Dell something with their firmware? If 
so, are you going to work with Dell on a solution, or do I need to 
report the issue to them?


Kind regards,

Paul


>> PS:
>>
>>> -- 
>>>
>>> Thanks and Regards
>>>
>>> Gautham.
>>
>> Only if you care: Your signature delimiter misses a space at the end [2].
>>
>>
>> [1]: https://www.dell.com/support/manuals/de-de/poweredge-r7625/per7625_ism_pub/system-profile-settings?guid=guid-9f6b6652-4079-45e7-90f5-1c8feee08ec0&lang=en-us
>> [2]: https://en.wikipedia.org/wiki/Signature_block#Standard_delimiter
> [3]: https://lore.kernel.org/linux-pm/d09f52d8-e084-4875-9608-5b3db2554f3d@molgen.mpg.de/T/#t

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Warnings `Could not retrieve perf counters (-19)` and `amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled` (Dell PowerEdge R7625, AMD EPYC 9174F)
  2025-02-11 16:12         ` Paul Menzel
@ 2025-02-11 16:18           ` Mario Limonciello
  2025-03-10 15:17             ` Paul Menzel
  0 siblings, 1 reply; 5+ messages in thread
From: Mario Limonciello @ 2025-02-11 16:18 UTC (permalink / raw)
  To: Paul Menzel, Gautham Ranjal Shenoy, Ray Huang, Thomas Gleixner,
	Ingo Molnar, Borislav Petkov, Dave Hansen, x86
  Cc: linux-pm, linux-acpi, LKML

On 2/11/2025 10:12, Paul Menzel wrote:
> Dear Linux folks,
> 
> 
> Am 28.01.25 um 16:08 schrieb Paul Menzel:
>> [Cc: +x86 maintainers and ACPI list]
> 
>> Am 28.01.25 um 11:49 schrieb Paul Menzel:
>>
>>> Thank you for your quick replies. Gautham, messages with HTML are 
>>> rejected by Linux kernel lists.
>>>
>>>
>>> Am 28.01.25 um 04:51 schrieb Shenoy, Gautham Ranjal:
>>>
>>>> As Mario mentioned, you need to enable the CPPC option. Looking for 
>>>> some of the Dell PowerEdge documentation, there is an option called 
>>>> "Collaborative CPU Performance Control" (https://www.dell.com/ 
>>>> support/manuals/en-in/poweredge-r730/r730_ompublication/system- 
>>>> profile-settings-details?guid=guid-2e9b46a1-71e3-4072-9d86- 
>>>> db648757f0e6&lang=en-us).
>>>>
>>>> [cid:fe57df8f-3d99-4ea0-8f6e-b0daae49bb0e]
>>>> Can you please try enabling it ?
>>>
>>> You quoted the Dell PowerEdge R730. I couldn’t find it in the *Dell 
>>> PowerEdge R7625 Installation and Service Manual* [1], and also it’s 
>>> not listed in the iDRAC9 Web site (attached with added `.txt` 
>>> extension to trick the Linux list).
>>
>> The amd_pstate warning seems to be related to the perf counters 
>> warning Linux prints earlier:
>>
>>      $ dmesg --level alert,crit,err,warn
>>      [    2.666393] Spectre V2 : WARNING: Unprivileged eBPF is enabled 
>> with eIBRS on, data leaks possible via Spectre v2 BHB attacks!
>>      [    8.109446] Could not retrieve perf counters (-19)
>>      [    9.386551] scsi 0:0:4:0: set ignore_delay_remove for 
>> handle(0x0012)
>>      [    9.487804] amd_pstate: the _CPC object is not present in 
>> SBIOS or ACPI disabled
>>      [   14.726193] wmi_bus wmi_bus-PNP0C14:00: [Firmware Bug]: WQBC 
>> data block query control method not found
>>
>> x86 maintainers, the original report with the Linux logs attached is 
>> in the archive [3].
>>
>> It looks like, there is something missing in the Dell firmware to 
>> enable the feature.
>>
>> The perf counters warning is from `amd_set_max_freq_ratio()` in `arch/ 
>> x86/kernel/acpi/cppc.c`:
>>
>> ```
>> static void amd_set_max_freq_ratio(void)
>> {
>>          struct cppc_perf_caps perf_caps;
>>          u64 numerator, nominal_perf;
>>          u64 perf_ratio;
>>          int rc;
>>
>>          rc = cppc_get_perf_caps(0, &perf_caps);
>>          if (rc) {
>>                  pr_warn("Could not retrieve perf counters (%d)\n", rc);
>>                  return;
>>          }
>>          […]
>> }
>> ```
>>
>> With
>>
>>      include/uapi/asm-generic/errno-base.h:#define    ENODEV        
>> 19    /* No such device */
>>
>> this is returned by in `drivers/acpi/cppc_acpi.c`:
>>
>> ```
>> /**
>>   * cppc_get_perf_caps - Get a CPU's performance capabilities.
>>   * @cpunum: CPU from which to get capabilities info.
>>   * @perf_caps: ptr to cppc_perf_caps. See cppc_acpi.h
>>   *
>>   * Return: 0 for success with perf_caps populated else -ERRNO.
>>   */
>> int cppc_get_perf_caps(int cpunum, struct cppc_perf_caps *perf_caps)
>> {
>>          struct cpc_desc *cpc_desc = per_cpu(cpc_desc_ptr, cpunum);
>>          […]
>>          if (!cpc_desc) {
>>                  pr_debug("No CPC descriptor for CPU:%d\n", cpunum);
>>                  return -ENODEV;
>>          }
>>          […]
>> }
>> ```
> 
> @AMD folks, just for clarity. Did Dell something with their firmware? If 
> so, are you going to work with Dell on a solution, or do I need to 
> report the issue to them?
> 

I feel if there is a BIOS bug in hardware you purchased, you should 
report a bug to the hardware creator for them to fix.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Warnings `Could not retrieve perf counters (-19)` and `amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled` (Dell PowerEdge R7625, AMD EPYC 9174F)
  2025-02-11 16:18           ` Mario Limonciello
@ 2025-03-10 15:17             ` Paul Menzel
  2025-03-18  1:29               ` Mario Limonciello
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Menzel @ 2025-03-10 15:17 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: Gautham Ranjal Shenoy, Ray Huang, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, Dave Hansen, x86, linux-pm, linux-acpi, LKML,
	it+linux-dell

Dear Mario,


Am 11.02.25 um 17:18 schrieb Mario Limonciello:
> On 2/11/2025 10:12, Paul Menzel wrote:

>> Am 28.01.25 um 16:08 schrieb Paul Menzel:
>>> [Cc: +x86 maintainers and ACPI list]
>>
>>> Am 28.01.25 um 11:49 schrieb Paul Menzel:
>>>
>>>> Thank you for your quick replies. Gautham, messages with HTML are 
>>>> rejected by Linux kernel lists.
>>>>
>>>>
>>>> Am 28.01.25 um 04:51 schrieb Shenoy, Gautham Ranjal:
>>>>
>>>>> As Mario mentioned, you need to enable the CPPC option. Looking for 
>>>>> some of the Dell PowerEdge documentation, there is an option called 
>>>>> "Collaborative CPU Performance Control" (https://www.dell.com/ 
>>>>> support/manuals/en-in/poweredge-r730/r730_ompublication/system- 
>>>>> profile-settings-details?guid=guid-2e9b46a1-71e3-4072-9d86- 
>>>>> db648757f0e6&lang=en-us).
>>>>>
>>>>> [cid:fe57df8f-3d99-4ea0-8f6e-b0daae49bb0e]
>>>>> Can you please try enabling it ?
>>>>
>>>> You quoted the Dell PowerEdge R730. I couldn’t find it in the *Dell 
>>>> PowerEdge R7625 Installation and Service Manual* [1], and also it’s 
>>>> not listed in the iDRAC9 Web site (attached with added `.txt` 
>>>> extension to trick the Linux list).
>>>
>>> The amd_pstate warning seems to be related to the perf counters 
>>> warning Linux prints earlier:
>>>
>>>      $ dmesg --level alert,crit,err,warn
>>>      [    2.666393] Spectre V2 : WARNING: Unprivileged eBPF is enabled with eIBRS on, data leaks possible via Spectre v2 BHB attacks!
>>>      [    8.109446] Could not retrieve perf counters (-19)
>>>      [    9.386551] scsi 0:0:4:0: set ignore_delay_remove for  handle(0x0012)
>>>      [    9.487804] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
>>>      [   14.726193] wmi_bus wmi_bus-PNP0C14:00: [Firmware Bug]: WQBC data block query control method not found
>>>
>>> x86 maintainers, the original report with the Linux logs attached is 
>>> in the archive [3].
>>>
>>> It looks like, there is something missing in the Dell firmware to 
>>> enable the feature.
>>>
>>> The perf counters warning is from `amd_set_max_freq_ratio()` in 
>>> `arch/ x86/kernel/acpi/cppc.c`:
>>>
>>> ```
>>> static void amd_set_max_freq_ratio(void)
>>> {
>>>          struct cppc_perf_caps perf_caps;
>>>          u64 numerator, nominal_perf;
>>>          u64 perf_ratio;
>>>          int rc;
>>>
>>>          rc = cppc_get_perf_caps(0, &perf_caps);
>>>          if (rc) {
>>>                  pr_warn("Could not retrieve perf counters (%d)\n", rc);
>>>                  return;
>>>          }
>>>          […]
>>> }
>>> ```
>>>
>>> With
>>>
>>>      include/uapi/asm-generic/errno-base.h:#define    ENODEV 19    /* No such device */
>>>
>>> this is returned by in `drivers/acpi/cppc_acpi.c`:
>>>
>>> ```
>>> /**
>>>   * cppc_get_perf_caps - Get a CPU's performance capabilities.
>>>   * @cpunum: CPU from which to get capabilities info.
>>>   * @perf_caps: ptr to cppc_perf_caps. See cppc_acpi.h
>>>   *
>>>   * Return: 0 for success with perf_caps populated else -ERRNO.
>>>   */
>>> int cppc_get_perf_caps(int cpunum, struct cppc_perf_caps *perf_caps)
>>> {
>>>          struct cpc_desc *cpc_desc = per_cpu(cpc_desc_ptr, cpunum);
>>>          […]
>>>          if (!cpc_desc) {
>>>                  pr_debug("No CPC descriptor for CPU:%d\n", cpunum);
>>>                  return -ENODEV;
>>>          }
>>>          […]
>>> }
>>> ```
>>
>> @AMD folks, just for clarity. Did Dell something with their firmware? 
>> If so, are you going to work with Dell on a solution, or do I need to 
>> report the issue to them?
> 
> I feel if there is a BIOS bug in hardware you purchased, you should 
> report a bug to the hardware creator for them to fix.

I made the service request 205423744 on February 12th, 2025, and after 
collecting the details until February 14th, 2025, Dell replied on March 
4th, 2025, that there L3 support and engineering team was able to 
reproduce the issue, and they are going to provide a firmware update, 
currently estimated for June.

I am still surprised, that Dell’s QA overlooked this. Does AMD provide 
them test suites (does FWTS check for this). `dmesg --level=warning` is 
unfortunately not empty, so maybe they ignore it.

Would it make sense to make the warning an error, so it’s less likely 
overlooked?


Kind regards,

Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Warnings `Could not retrieve perf counters (-19)` and `amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled` (Dell PowerEdge R7625, AMD EPYC 9174F)
  2025-03-10 15:17             ` Paul Menzel
@ 2025-03-18  1:29               ` Mario Limonciello
  0 siblings, 0 replies; 5+ messages in thread
From: Mario Limonciello @ 2025-03-18  1:29 UTC (permalink / raw)
  To: Paul Menzel
  Cc: Gautham Ranjal Shenoy, Ray Huang, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, Dave Hansen, x86, linux-pm, linux-acpi, LKML,
	it+linux-dell

<snip>
> 
> I made the service request 205423744 on February 12th, 2025, and after 
> collecting the details until February 14th, 2025, Dell replied on March 
> 4th, 2025, that there L3 support and engineering team was able to 
> reproduce the issue, and they are going to provide a firmware update, 
> currently estimated for June.
> 
> I am still surprised, that Dell’s QA overlooked this. Does AMD provide 
> them test suites (does FWTS check for this). `dmesg --level=warning` is 
> unfortunately not empty, so maybe they ignore it.
> 

IIRC FWTS doesn't test for this.  Perhaps you can add check to klog.json 
for the message you saw?  There is an existing pattern for a CPPC 
related error message:

https://github.com/fwts/fwts/blob/ec33c8ee1d99211a9cb2081324ec909a325e93d8/data/klog.json#L56

A similar pattern could be added for your case.

> Would it make sense to make the warning an error, so it’s less likely 
> overlooked?
> 

If they don't run dmesg --level=warning, why would dmesg --level=error 
would be more likely to be run?

FWIW For 6.15 we're introducing another warning for BIOS failures.

https://web.git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git/commit/?h=linux-next&id=a9ba0fd452d82ca0da170eb6291aac01075a17d5

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-03-18  1:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <2b811df7-5278-4cfc-b8a0-7d6d72d3358d@molgen.mpg.de>
     [not found] ` <5dff1719-c4e9-4ebf-ae0b-73b9de98df05@amd.com>
     [not found]   ` <DS7PR12MB82528A694056F1FBA20CE01E96EF2@DS7PR12MB8252.namprd12.prod.outlook.com>
     [not found]     ` <d09f52d8-e084-4875-9608-5b3db2554f3d@molgen.mpg.de>
2025-01-28 15:08       ` Warnings `Could not retrieve perf counters (-19)` and `amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled` (Dell PowerEdge R7625, AMD EPYC 9174F) Paul Menzel
2025-02-11 16:12         ` Paul Menzel
2025-02-11 16:18           ` Mario Limonciello
2025-03-10 15:17             ` Paul Menzel
2025-03-18  1:29               ` Mario Limonciello

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®