tools/power/x86/intel-speed-select: turbo-freq auto mode with SMT off
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Sat, 7 Jan 2023 01:48:07 +0000 (17:48 -0800)
committerHans de Goede <hdegoede@redhat.com>
Fri, 3 Feb 2023 08:57:10 +0000 (09:57 +0100)
When SMT is disabled from kernel command line, sibling CPUs still
appears in the sysfs as offline CPUs. This is a problem when turbo-freq
is enabled in auto mode. They are still assigned to CLOS value
of 3 as they are still in the present CPU list. But they are not in the
sibling list of a CPU. When the CPU is a high priority CPU, because of
sibling it will be still set to CLOS to 3 as CLOS is assigned at core
level not at CPU level.

So, avoid setting CLOS 3 to offline CPU.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
tools/power/x86/intel-speed-select/isst-config.c

index 2a737bff79cda58648687320a3b4809a97fd00c9..5f5349faeb2353cbf5ed15b907fe3ab2b1f6e366 100644 (file)
@@ -2066,6 +2066,9 @@ static void set_fact_enable(int arg)
                        if (!CPU_ISSET_S(i, present_cpumask_size, present_cpumask))
                                continue;
 
+                       if (is_cpu_online(i) != 1)
+                               continue;
+
                        set_isst_id(&id, i);
                        ret = set_clos_param(&id, 0, 0, 0, 0, 0xff);
                        if (ret)