Re: [PATCH v3 6/9] cpu/SMT: Allow enabling partial SMT states via sysfs
From: Laurent Dufour <hidden>
Date: 2023-07-05 11:57:54
Also in:
linux-arch, lkml
From: Laurent Dufour <hidden>
Date: 2023-07-05 11:57:54
Also in:
linux-arch, lkml
Le 05/07/2023 à 05:14, Zhang, Rui a écrit :
On Thu, 2023-06-29 at 16:31 +0200, Laurent Dufour wrote:quoted
@@ -2580,6 +2597,17 @@ static ssize_t control_show(struct device*dev, { const char *state = smt_states[cpu_smt_control]; +#ifdef CONFIG_HOTPLUG_SMT + /* + * If SMT is enabled but not all threads are enabled then show the + * number of threads. If all threads are enabled show "on". Otherwise + * show the state name. + */ + if (cpu_smt_control == CPU_SMT_ENABLED && + cpu_smt_num_threads != cpu_smt_max_threads) + return sysfs_emit(buf, "%d\n", cpu_smt_num_threads); +#endif +My understanding is that cpu_smt_control is always set to CPU_SMT_NOT_IMPLEMENTED when CONFIG_HOTPLUG_SMT is not set, so this ifdef is not necessary, right?
Hi Rui, Indeed, cpu_smt_control, cpu_smt_num_threads and cpu_smt_max_threads are only defined when CONFIG_HOTPLUG_SMT is set. This is the reason for this #ifdef block. This has been reported by the kernel test robot testing v2: https://lore.kernel.org/oe-kbuild-all/202306282340.Ihqm0fLA-lkp@intel.com (local) Cheers, Laurent.