(Re-CC'ing the ML because I forgot by accident. Hopefully the quoted
sections provide sufficient context)

On Tuesday, December 30th, 2025 at 10:44 AM, Jason Andryuk <[email protected]> 
wrote:
> 
> 
> On Mon, Dec 29, 2025 at 6:59 PM Milky [email protected] wrote:
> > I've tried the command you suggested. Like `xenpm get-cpufreq-states`, it 
> > returns no output. I am pasting it below anyway, for completeness.
> >
> > ``` 
> > [root@dom0 username] xenpm get-cpufreq-average
> > <no output>
> > ```
> >
> > For the record, I tracked the original 
> > [thread](https://lists.xen.org/archives/html/xen-devel/2024-01/msg00787.html)
> >  where you posted that suggestion.

[...]

> > > HWP enabled
> >
> > Indeed I noticed that in the `xl dmesg` logs too, which seemed reassuring, 
> > however I didn't want to jump to conclusions and the "HW_FEEDBACK not 
> > supported" line raised some concerns (although I was unable to find out 
> > what it means).
>
>
> HW_FEEDBACK support doesn't matter.

[...]

> > > > The following commands were also checked:
> > > >
> > > > ```
> > > > $ xenpm get-cpufreq-para
> > > > [CPU0] failed to get cpufreq parameter
>
>
> We want this to work to get info on how HWP is configured. It could
> be set to a power save mode, and xenpm set-cpufreq-para would let you
> set it to be more performant. It's bizarre that it is not working.

[...]

> You need xen-acpi-processor to upload ACPI CPU data to Xen. That lets
> Xen know how to run cpufreq for the CPUs. cpufreq will not be enabled
> without the ACPI CPU data upload. If you add to dom0's command line:
> loglevel=9 dyndbg="module xen_acpi_processor +p"
> xen_acpi_processor.dyndbg="func * +p"
>
> You'll hopefully enable the dynamic debugging.
>
> And do:
> sudo dmesg | grep xen.acpi
> maybe you'd get some info?
>
> Or `modprobe xen-acpi-processor dyndbg==pmf`
>
> You want to see messages like:
> ACPI CPU%u - P-states uploaded
> https://elixir.bootlin.com/linux/v6.18.2/source/drivers/xen/xen-acpi-processor.c#L248
>
> If you see this one:
> pr_warn("ACPI CPU%u missing some P-state data (%x), skipping\n",
> _pr->acpi_id, dst_perf->flags);
>
> Then that may be why it's not working.


As suggested, I added the debug parameters to the dom0 kernel. Before or
after `modprobe xen-acpi-processor dyndbg==pmf`, there is no useful
debug information that I could find, apart from the
`xen_acpi_processor:get_max_acpi_id` message as seen below.

```
# sudo dmesg | grep xen.acpi
[    2.282851] Kernel command line: placeholder 
root=/dev/mapper/qubes_dom0-root ro rd.luks.uuid=<...> 
rd.lvm.lv=qubes_dom0/root rd.lvm.lv=qubes_dom0/swap 
plymouth.ignore-serial-consoles 6.6.77-1.qubes.fc37.x86_64 x86_64 rhgb 
loglevel=9 "dyndbg=module xen_acpi_processor +p" 
"xen_acpi_processor.dyndbg=func * +p" rd.qubes.hide_all_usb
[    5.224092] xen_acpi_processor: Max ACPI ID: 6

# sudo lsmod | grep xen_acpi
<no output>

# sudo modprobe xen-acpi-processor dyndbg==pmf
modprobe: ERROR: could not insert 'xen_acpi_processor': No such device
```


> You flashed the T480s with Coreboot? Maybe the Coreboot ACPI data
> lacks something?


I flased it with Coreboot, yes; more specifically, I executed manually
the build steps of Libreboot. It's possible I've made a mistake
somewhere. However, as I mentioned in my first message, scaling actually
works correctly when booting with vanilla Debian.


> Maybe also with Xen's command line try cpufreq=xen:no-hwp to disable
> HWP and see if the regular ACPI cpufreq driver works better.
>
> I'm thinking it's something where xen-acpi-processor didn't upload
> ACPI CPU data, which means cpufreq isn't running. That may also be
> why you see that bogus CPU frequency.

After booting with `xen:no-hwp`, I wasn't sure how to check if the
regular ACPI cpufreq driver is operational. Is `xenpm` still the
correct way to query for CPU info? I've tried the following:

```
# sudo xl dmesg | grep -i hwp
(XEN) Command line: placeholder cpufreq=xen:no-hwp,verbose loglvl=all 
dom0_mem=min:1024M dom0_mem=max:4096M ucode=scan smt=off gnttab_max_frames=2048 
gnttab_max_maptrack_frames=4096 no-real-mode edd=off
(XEN) HWP: 1 notify: 1 act-window: 1 energy-perf: 1 pkg-level: 0 peci: 0
(XEN) HWP: Hardware Duty Cycling (HDC) supported, enabled
(XEN) HWP: HW_FEEDBACK not supported

# sudo xenpm get-cpufreq-para
[CPU0] failed to get cpufreq parameter
[CPU1] failed to get cpufreq parameter
[CPU2] failed to get cpufreq parameter
[CPU3] failed to get cpufreq parameter

# sudo xenpm get-cpufreq-average
<no output>

# sudo xenpm start 10 | grep 'Avg freq'
Avg freq 884114144 KHz
Avg freq 884114144 KHz
Avg freq 884114144 KHz
Avg freq 884114144 KHz
```


Reply via email to