StarLabsLtd / firmware

73 stars 5 forks source link

[StarBook mkVI Intel coreboot] Missing CPPC support breaks Linux CPU scheduling #143

Closed r-vdp closed 10 months ago

r-vdp commented 10 months ago

I noticed that since Linux 6.5, performance of my starbook mkVI is pretty bad. Linux seems to prefer E cores over P cores most of the time.

I filed a bug report on the kernel bug tracker and the conclusion seems to be that there is an issue with the CPPC/OSC support in the firmware, see the bug report for more details.

This is killing performance of my i7 processor.

I am running the coreboot version 8.60 firmware (since there are some open issues for 8.99 still).

Sean-StarLabs commented 10 months ago

The base 8.60 used didn't support CPPC, latest does.

since there are some open issues for 8.99 still

Not that I can see

r-vdp commented 10 months ago

I upgraded to 8.99 but the kernel still does not manage to get CPC info from the CPU:

$ dmesg | rg -i cppc
[    0.000000] Command line: initrd=\efi\nixos\7pnavbs3q41mr5i33sjaifz2y2zyv9bm-initrd-linux-6.6.3-initrd.efi init=/nix/store/m7y6rpq5p69pxkh7276ddd19xsf75q77-nixos-system-starbook-20231129.dirty/init video=DP-1:3840x2160@60 iomem=relaxed i915.enable_fbc=1 i915.enable_psr=2 mem_sleep_default=deep nvme.noacpi=1 systemd.gpt_auto=false "dyndbg=file cppc_acpi.c +p" loglevel=4
[    0.062752] Kernel command line: initrd=\efi\nixos\7pnavbs3q41mr5i33sjaifz2y2zyv9bm-initrd-linux-6.6.3-initrd.efi init=/nix/store/m7y6rpq5p69pxkh7276ddd19xsf75q77-nixos-system-starbook-20231129.dirty/init video=DP-1:3840x2160@60 iomem=relaxed i915.enable_fbc=1 i915.enable_psr=2 mem_sleep_default=deep nvme.noacpi=1 systemd.gpt_auto=false "dyndbg=file cppc_acpi.c +p" loglevel=4
[    0.372136] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372138] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372195] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372196] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372239] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372240] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372281] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372283] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372322] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372323] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372360] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372361] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372399] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372400] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372442] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372443] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372482] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372483] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372523] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372524] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372562] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372563] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372602] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372603] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372643] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372644] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372681] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372682] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372722] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372723] ACPI CPPC: CPPC v2 _OSC not acked
[    0.372762] ACPI CPPC: begin acpi_cppc_processor_probe
[    0.372763] ACPI CPPC: CPPC v2 _OSC not acked
[    0.380999] ACPI CPPC: No CPC descriptor for CPU:0
[    0.381065] ACPI CPPC: No CPC descriptor for CPU:1
[    0.381153] ACPI CPPC: No CPC descriptor for CPU:2
[    0.381214] ACPI CPPC: No CPC descriptor for CPU:3
[    0.381385] ACPI CPPC: No CPC descriptor for CPU:4
[    0.381442] ACPI CPPC: No CPC descriptor for CPU:5
[    0.381607] ACPI CPPC: No CPC descriptor for CPU:6
[    0.381665] ACPI CPPC: No CPC descriptor for CPU:7
[    0.381824] ACPI CPPC: No CPC descriptor for CPU:8
[    0.381936] ACPI CPPC: No CPC descriptor for CPU:9
[    0.382034] ACPI CPPC: No CPC descriptor for CPU:10
[    0.382153] ACPI CPPC: No CPC descriptor for CPU:11
[    0.382253] ACPI CPPC: No CPC descriptor for CPU:12
[    0.382338] ACPI CPPC: No CPC descriptor for CPU:13
[    0.382392] ACPI CPPC: No CPC descriptor for CPU:14
[    0.382468] ACPI CPPC: No CPC descriptor for CPU:15
Sean-StarLabs commented 10 months ago

Pass on what that means - if you check the SSDT, it's there. Maybe kernel build option/param or something distro related?

r-vdp commented 10 months ago

Well, in the kernel bug, they mention that they require OSC support for CPPC v2, which should be provided by the firmware but apparently isn't in this case.

Do you see /proc/sys/kernel/sched_itmt_enabled on any system on your side with the i7 1260P and coreboot?

Sean-StarLabs commented 10 months ago

Sure do:

sean@starbook:~/Desktop/acpi$ grep -ri cpc
grep: ssdt.dat: binary file matches
ssdt.dsl:        Name (GCPC, Package (0x17)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            GCPC [0x03] = 0x21
ssdt.dsl:            GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (GCPC) /* \_SB_.CP00.GCPC */
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x21
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x21
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x21
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x21
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x21
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x21
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x21
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
ssdt.dsl:        Method (_CPC, 0, NotSerialized)  // _CPC: Continuous Performance Control
ssdt.dsl:            \_SB.CP00.GCPC [0x03] = 0x1A
ssdt.dsl:            \_SB.CP00.GCPC [0x16] = 0x0A28
ssdt.dsl:            Return (\_SB.CP00.GCPC)
sean@starbook:~/Desktop/acpi$ cat /proc/sys/kernel/sched_itmt_enabled
1
sean@starbook:~/Desktop/acpi$ mkdir acpi^C
sean@starbook:~/Desktop/acpi$ grep -r . /sys/devices/system/cpu/cpu*/acpi_cppc/
/sys/devices/system/cpu/cpu0/acpi_cppc/feedback_ctrs:ref:76961387178 del:44518720184
/sys/devices/system/cpu/cpu0/acpi_cppc/lowest_nonlinear_perf:21
/sys/devices/system/cpu/cpu0/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu0/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu0/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu0/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu0/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu0/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu0/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu10/acpi_cppc/feedback_ctrs:ref:23473617440 del:12113769976
/sys/devices/system/cpu/cpu10/acpi_cppc/lowest_nonlinear_perf:17
/sys/devices/system/cpu/cpu10/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu10/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu10/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu10/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu10/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu10/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu10/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu11/acpi_cppc/feedback_ctrs:ref:19840706704 del:10613838391
/sys/devices/system/cpu/cpu11/acpi_cppc/lowest_nonlinear_perf:17
/sys/devices/system/cpu/cpu11/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu11/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu11/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu11/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu11/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu11/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu11/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu12/acpi_cppc/feedback_ctrs:ref:17500909296 del:9204333821
/sys/devices/system/cpu/cpu12/acpi_cppc/lowest_nonlinear_perf:16
/sys/devices/system/cpu/cpu12/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu12/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu12/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu12/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu12/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu12/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu12/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu13/acpi_cppc/feedback_ctrs:ref:12562768608 del:7100034504
/sys/devices/system/cpu/cpu13/acpi_cppc/lowest_nonlinear_perf:16
/sys/devices/system/cpu/cpu13/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu13/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu13/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu13/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu13/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu13/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu13/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu14/acpi_cppc/feedback_ctrs:ref:11020374560 del:6305893666
/sys/devices/system/cpu/cpu14/acpi_cppc/lowest_nonlinear_perf:15
/sys/devices/system/cpu/cpu14/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu14/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu14/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu14/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu14/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu14/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu14/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu15/acpi_cppc/feedback_ctrs:ref:16431037376 del:8249810221
/sys/devices/system/cpu/cpu15/acpi_cppc/lowest_nonlinear_perf:15
/sys/devices/system/cpu/cpu15/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu15/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu15/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu15/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu15/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu15/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu15/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu1/acpi_cppc/feedback_ctrs:ref:5823565540 del:4018972624
/sys/devices/system/cpu/cpu1/acpi_cppc/lowest_nonlinear_perf:20
/sys/devices/system/cpu/cpu1/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu1/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu1/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu1/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu1/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu1/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu1/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu2/acpi_cppc/feedback_ctrs:ref:87740837158 del:46431806900
/sys/devices/system/cpu/cpu2/acpi_cppc/lowest_nonlinear_perf:18
/sys/devices/system/cpu/cpu2/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu2/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu2/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu2/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu2/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu2/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu2/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu3/acpi_cppc/feedback_ctrs:ref:5039407152 del:3487497097
/sys/devices/system/cpu/cpu3/acpi_cppc/lowest_nonlinear_perf:18
/sys/devices/system/cpu/cpu3/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu3/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu3/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu3/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu3/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu3/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu3/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu4/acpi_cppc/feedback_ctrs:ref:68143906116 del:37408385601
/sys/devices/system/cpu/cpu4/acpi_cppc/lowest_nonlinear_perf:20
/sys/devices/system/cpu/cpu4/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu4/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu4/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu4/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu4/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu4/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu4/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu5/acpi_cppc/feedback_ctrs:ref:5574404368 del:3519520229
/sys/devices/system/cpu/cpu5/acpi_cppc/lowest_nonlinear_perf:16
/sys/devices/system/cpu/cpu5/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu5/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu5/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu5/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu5/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu5/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu5/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu6/acpi_cppc/feedback_ctrs:ref:67837562520 del:37107138304
/sys/devices/system/cpu/cpu6/acpi_cppc/lowest_nonlinear_perf:16
/sys/devices/system/cpu/cpu6/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu6/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu6/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu6/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu6/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu6/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu6/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu7/acpi_cppc/feedback_ctrs:ref:5584887724 del:3597792286
/sys/devices/system/cpu/cpu7/acpi_cppc/lowest_nonlinear_perf:17
/sys/devices/system/cpu/cpu7/acpi_cppc/highest_perf:64
/sys/devices/system/cpu/cpu7/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu7/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu7/acpi_cppc/nominal_perf:33
/sys/devices/system/cpu/cpu7/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu7/acpi_cppc/reference_perf:33
/sys/devices/system/cpu/cpu7/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu8/acpi_cppc/feedback_ctrs:ref:45785259936 del:22089880138
/sys/devices/system/cpu/cpu8/acpi_cppc/lowest_nonlinear_perf:13
/sys/devices/system/cpu/cpu8/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu8/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu8/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu8/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu8/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu8/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu8/acpi_cppc/wraparound_time:18446744073709551615
/sys/devices/system/cpu/cpu9/acpi_cppc/feedback_ctrs:ref:30707020448 del:15237582281
/sys/devices/system/cpu/cpu9/acpi_cppc/lowest_nonlinear_perf:14
/sys/devices/system/cpu/cpu9/acpi_cppc/highest_perf:37
/sys/devices/system/cpu/cpu9/acpi_cppc/nominal_freq:2600
/sys/devices/system/cpu/cpu9/acpi_cppc/lowest_freq:0
/sys/devices/system/cpu/cpu9/acpi_cppc/nominal_perf:26
/sys/devices/system/cpu/cpu9/acpi_cppc/lowest_perf:1
/sys/devices/system/cpu/cpu9/acpi_cppc/reference_perf:26
/sys/devices/system/cpu/cpu9/acpi_cppc/wraparound_time:18446744073709551615
r-vdp commented 10 months ago

Hmm, could you share the kernel config from this system so that I can compare it? Which distro is this? And this is on coreboot 8.99?

Sean-StarLabs commented 10 months ago

It's just Ubuntu - zero changes: kernel.txt

Yeah, just checked, 8.60 has it too - though the acpigen was meant to be broken but apparently not

r-vdp commented 10 months ago

I just booted a Ubuntu 23.05 live iso and had the same issue there. No itmt scheduling and no cppc.

Is there any chance that there's something up with the firmware on my specific model (mkVI, i7 1260P, coreboot) ?

What could we do to rule out an issue with the firmware?

It's really very annoying to not have proper scheduling on this processor.

Sean-StarLabs commented 10 months ago

I'll test with 23.10 Live USB to see if it shows.

r-vdp commented 10 months ago

Ah, I also tried with 23.10 indeed, I put the wrong version above.

Are you testing this with the same chipset, intel i7 1260P ?

divico commented 10 months ago

Do you see /proc/sys/kernel/sched_itmt_enabled on any system on your side with the i7 1260P and coreboot?

Not sure if this is still relevant to you, but I don't have that file neither on arch kernel 6.1.63-1-lts and coreboot 8.99 (same CPU).

r-vdp commented 10 months ago

@Sean-StarLabs did you manage to test from your side on the same system? Did you get the same results?

The fact that I'm not the only one with this issue, seems to indicate that there is something going wrong here.

I've got this issue on NixOS and had the same problem on a Ubuntu live ISO, and the other reporter has the same issue on Arch.

Sean-StarLabs commented 10 months ago

@Sean-StarLabs did you manage to test from your side on the same system? Did you get the same results?

Not yet

r-vdp commented 10 months ago

Thanks @Sean-StarLabs, that seems to fix it indeed!

I had to update the EC firmware separately using the EFI shell though, it was still at 1.13. Is it not supposed to be automatically updated with the mirror thingy?

Sean-StarLabs commented 10 months ago

It'll only do it if the requirements are met - it's a long list, but from 1.22 onwards, it'll be a lot shorter.

r-vdp commented 10 months ago

Oh I see, ok, cool. Thanks again for the fix for the scheduling!

divico commented 10 months ago

@R-VdP how did you install 9.00? It's not in lvfs-testing

r-vdp commented 10 months ago

@R-VdP how did you install 9.00? It's not in lvfs-testing

I downloaded the .rom from this repo, and flashed it using flashrom:

sudo flashrom -p internal -w 9.00.rom -i bios --ifd -N
divico commented 10 months ago

@r-vdp how did you install 9.00? It's not in lvfs-testing

I downloaded the .rom from this repo, and flashed it using flashrom:

sudo flashrom -p internal -w 9.00.rom -i bios --ifd -N

Thanks. I'm not sure this is safe / recommended. See comment here @Sean-StarLabs will 9.00 be available on lvfs? If not, is it fine to use flashrom directly as above?

Sean-StarLabs commented 10 months ago

It'll be in the testing remote early next week.

Flashrom can brick it (one in 510ish chance)

divico commented 9 months ago

It'll be in the testing remote early next week.

Could you please make 9.00available in lvfs ?