diff options
author | Frederic Weisbecker <frederic@kernel.org> | 2017-10-26 22:42:31 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-10-27 03:55:26 -0400 |
commit | 7e56a1cf4b28f5739526877b8dbad623fae2e4e7 (patch) | |
tree | 5f540ce0a22d30caed0fb1e54f865ea65373ff38 /include/linux/sched/isolation.h | |
parent | 9f0ca2d97ef0b5e966be2cfef26c7c094ec14e41 (diff) |
sched/isolation: Make the housekeeping cpumask private
Nobody needs to access this detail. housekeeping_cpumask() already
takes care of it.
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Metcalf <cmetcalf@mellanox.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Wanpeng Li <kernellwp@gmail.com>
Link: http://lkml.kernel.org/r/1509072159-31808-5-git-send-email-frederic@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/sched/isolation.h')
-rw-r--r-- | include/linux/sched/isolation.h | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.h index 040df04fa78a..ed935ffc6ffa 100644 --- a/include/linux/sched/isolation.h +++ b/include/linux/sched/isolation.h | |||
@@ -6,46 +6,35 @@ | |||
6 | #include <linux/tick.h> | 6 | #include <linux/tick.h> |
7 | 7 | ||
8 | #ifdef CONFIG_NO_HZ_FULL | 8 | #ifdef CONFIG_NO_HZ_FULL |
9 | extern cpumask_var_t housekeeping_mask; | 9 | extern int housekeeping_any_cpu(void); |
10 | extern const struct cpumask *housekeeping_cpumask(void); | ||
11 | extern void housekeeping_affine(struct task_struct *t); | ||
12 | extern bool housekeeping_test_cpu(int cpu); | ||
10 | extern void __init housekeeping_init(void); | 13 | extern void __init housekeeping_init(void); |
14 | |||
11 | #else | 15 | #else |
12 | static inline void housekeeping_init(void) { } | ||
13 | #endif /* CONFIG_NO_HZ_FULL */ | ||
14 | 16 | ||
15 | static inline int housekeeping_any_cpu(void) | 17 | static inline int housekeeping_any_cpu(void) |
16 | { | 18 | { |
17 | #ifdef CONFIG_NO_HZ_FULL | ||
18 | if (tick_nohz_full_enabled()) | ||
19 | return cpumask_any_and(housekeeping_mask, cpu_online_mask); | ||
20 | #endif | ||
21 | return smp_processor_id(); | 19 | return smp_processor_id(); |
22 | } | 20 | } |
23 | 21 | ||
24 | static inline const struct cpumask *housekeeping_cpumask(void) | 22 | static inline const struct cpumask *housekeeping_cpumask(void) |
25 | { | 23 | { |
26 | #ifdef CONFIG_NO_HZ_FULL | ||
27 | if (tick_nohz_full_enabled()) | ||
28 | return housekeeping_mask; | ||
29 | #endif | ||
30 | return cpu_possible_mask; | 24 | return cpu_possible_mask; |
31 | } | 25 | } |
32 | 26 | ||
27 | static inline void housekeeping_affine(struct task_struct *t) { } | ||
28 | static inline void housekeeping_init(void) { } | ||
29 | #endif /* CONFIG_NO_HZ_FULL */ | ||
30 | |||
33 | static inline bool is_housekeeping_cpu(int cpu) | 31 | static inline bool is_housekeeping_cpu(int cpu) |
34 | { | 32 | { |
35 | #ifdef CONFIG_NO_HZ_FULL | 33 | #ifdef CONFIG_NO_HZ_FULL |
36 | if (tick_nohz_full_enabled()) | 34 | if (tick_nohz_full_enabled()) |
37 | return cpumask_test_cpu(cpu, housekeeping_mask); | 35 | return housekeeping_test_cpu(cpu); |
38 | #endif | 36 | #endif |
39 | return true; | 37 | return true; |
40 | } | 38 | } |
41 | 39 | ||
42 | static inline void housekeeping_affine(struct task_struct *t) | ||
43 | { | ||
44 | #ifdef CONFIG_NO_HZ_FULL | ||
45 | if (tick_nohz_full_enabled()) | ||
46 | set_cpus_allowed_ptr(t, housekeeping_mask); | ||
47 | |||
48 | #endif | ||
49 | } | ||
50 | |||
51 | #endif /* _LINUX_SCHED_ISOLATION_H */ | 40 | #endif /* _LINUX_SCHED_ISOLATION_H */ |