cpumask: Add a x86-specific cpumask_clear_cpu() helper
Add a x86-specific cpumask_clear_cpu() helper which will be used in places where the explicit KASAN-instrumentation in the *_bit() helpers is unwanted. Also, always inline two more cpumask generic helpers. allyesconfig: text data bss dec hex filename 190553143 159425889 32076404 382055436 16c5b40c vmlinux.before 190551812 159424945 32076404 382053161 16c5ab29 vmlinux.after Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Marco Elver <elver@google.com> Link: https://lore.kernel.org/r/20220204083015.17317-2-bp@alien8.de
This commit is contained in:
parent
1c6f9ec009
commit
f5c54f77b0
@ -20,11 +20,21 @@ static __always_inline bool arch_cpu_online(int cpu)
|
||||
{
|
||||
return arch_test_bit(cpu, cpumask_bits(cpu_online_mask));
|
||||
}
|
||||
|
||||
static __always_inline void arch_cpumask_clear_cpu(int cpu, struct cpumask *dstp)
|
||||
{
|
||||
arch_clear_bit(cpumask_check(cpu), cpumask_bits(dstp));
|
||||
}
|
||||
#else
|
||||
static __always_inline bool arch_cpu_online(int cpu)
|
||||
{
|
||||
return cpu == 0;
|
||||
}
|
||||
|
||||
static __always_inline void arch_cpumask_clear_cpu(int cpu, struct cpumask *dstp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define arch_cpu_is_offline(cpu) unlikely(!arch_cpu_online(cpu))
|
||||
|
@ -102,7 +102,7 @@ extern atomic_t __num_online_cpus;
|
||||
|
||||
extern cpumask_t cpus_booted_once_mask;
|
||||
|
||||
static inline void cpu_max_bits_warn(unsigned int cpu, unsigned int bits)
|
||||
static __always_inline void cpu_max_bits_warn(unsigned int cpu, unsigned int bits)
|
||||
{
|
||||
#ifdef CONFIG_DEBUG_PER_CPU_MAPS
|
||||
WARN_ON_ONCE(cpu >= bits);
|
||||
@ -110,7 +110,7 @@ static inline void cpu_max_bits_warn(unsigned int cpu, unsigned int bits)
|
||||
}
|
||||
|
||||
/* verify cpu argument to cpumask_* operators */
|
||||
static inline unsigned int cpumask_check(unsigned int cpu)
|
||||
static __always_inline unsigned int cpumask_check(unsigned int cpu)
|
||||
{
|
||||
cpu_max_bits_warn(cpu, nr_cpumask_bits);
|
||||
return cpu;
|
||||
|
Loading…
x
Reference in New Issue
Block a user