Contributors: 25
Author Tokens Token Proportion Commits Commit Proportion
Thomas Gleixner 45 16.73% 2 6.90%
Tony Luck 44 16.36% 1 3.45%
Qais Yousef 28 10.41% 3 10.34%
Reinette Chatre 19 7.06% 1 3.45%
Kirill A. Shutemov 15 5.58% 1 3.45%
Liu Shuo 15 5.58% 1 3.45%
Toshi Kani 13 4.83% 1 3.45%
Waiman Long 12 4.46% 1 3.45%
Rafael J. Wysocki 10 3.72% 1 3.45%
Oleg Nesterov 10 3.72% 1 3.45%
Patrick Mochel 10 3.72% 1 3.45%
Peter Zijlstra 8 2.97% 1 3.45%
Josh Poimboeuf 6 2.23% 1 3.45%
Andrew Morton 5 1.86% 1 3.45%
Linus Torvalds (pre-git) 4 1.49% 1 3.45%
Anton Vorontsov 4 1.49% 1 3.45%
Josh Triplett 3 1.12% 1 3.45%
Russell King 3 1.12% 1 3.45%
Rusty Russell 3 1.12% 2 6.90%
Srivatsa S. Bhat 3 1.12% 1 3.45%
Ingo Molnar 2 0.74% 1 3.45%
Tyler Hicks 2 0.74% 1 3.45%
Christian Krafft 2 0.74% 1 3.45%
Frédéric Weisbecker 2 0.74% 1 3.45%
Greg Kroah-Hartman 1 0.37% 1 3.45%
Total 269 29


/* SPDX-License-Identifier: GPL-2.0 */
/*
 * include/linux/cpuhplock.h - CPU hotplug locking
 *
 * Locking functions for CPU hotplug.
 */
#ifndef _LINUX_CPUHPLOCK_H_
#define _LINUX_CPUHPLOCK_H_

#include <linux/cleanup.h>
#include <linux/errno.h>

struct device;

#ifdef CONFIG_HOTPLUG_CPU
void cpus_write_lock(void);
void cpus_write_unlock(void);
void cpus_read_lock(void);
void cpus_read_unlock(void);
int  cpus_read_trylock(void);
void lockdep_assert_cpus_held(void);
int lockdep_is_cpus_held(void);
int lockdep_is_cpus_write_held(void);
void cpu_hotplug_disable_offlining(void);
void cpu_hotplug_disable(void);
void cpu_hotplug_enable(void);
void clear_tasks_mm_cpumask(int cpu);
int remove_cpu(unsigned int cpu);
int cpu_device_down(struct device *dev);
void smp_shutdown_nonboot_cpus(unsigned int primary_cpu);

#else /* CONFIG_HOTPLUG_CPU */

static inline void cpus_write_lock(void) { }
static inline void cpus_write_unlock(void) { }
static inline void cpus_read_lock(void) { }
static inline void cpus_read_unlock(void) { }
static inline int  cpus_read_trylock(void) { return true; }
static inline void lockdep_assert_cpus_held(void) { }
static inline int lockdep_is_cpus_held(void) { return 1; }
static inline int lockdep_is_cpus_write_held(void) { return 1; }
static inline void cpu_hotplug_disable_offlining(void) { }
static inline void cpu_hotplug_disable(void) { }
static inline void cpu_hotplug_enable(void) { }
static inline int remove_cpu(unsigned int cpu) { return -EPERM; }
static inline void smp_shutdown_nonboot_cpus(unsigned int primary_cpu) { }
#endif	/* !CONFIG_HOTPLUG_CPU */

DEFINE_LOCK_GUARD_0(cpus_read_lock, cpus_read_lock(), cpus_read_unlock())

#endif /* _LINUX_CPUHPLOCK_H_ */