File Index
Files and directories
Sign in
FILE

cpu_smt.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/cpu_smt.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _LINUX_CPU_SMT_H_
 3#define _LINUX_CPU_SMT_H_
 4
 5enum cpuhp_smt_control {
 6	CPU_SMT_ENABLED,
 7	CPU_SMT_DISABLED,
 8	CPU_SMT_FORCE_DISABLED,
 9	CPU_SMT_NOT_SUPPORTED,
10	CPU_SMT_NOT_IMPLEMENTED,
11};
12
13#if defined(CONFIG_SMP) && defined(CONFIG_HOTPLUG_SMT)
14extern enum cpuhp_smt_control cpu_smt_control;
15extern unsigned int cpu_smt_num_threads;
16extern void cpu_smt_disable(bool force);
17extern void cpu_smt_set_num_threads(unsigned int num_threads,
18				    unsigned int max_threads);
19extern bool cpu_smt_possible(void);
20extern int cpuhp_smt_enable(void);
21extern int cpuhp_smt_disable(enum cpuhp_smt_control ctrlval);
22#else
23# define cpu_smt_control               (CPU_SMT_NOT_IMPLEMENTED)
24# define cpu_smt_num_threads 1
25static inline void cpu_smt_disable(bool force) { }
26static inline void cpu_smt_set_num_threads(unsigned int num_threads,
27					   unsigned int max_threads) { }
28static inline bool cpu_smt_possible(void) { return false; }
29static inline int cpuhp_smt_enable(void) { return 0; }
30static inline int cpuhp_smt_disable(enum cpuhp_smt_control ctrlval) { return 0; }
31#endif
32
33#endif /* _LINUX_CPU_SMT_H_ */
~/ Read-only file preview.