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 /kernel/sched/isolation.c | |
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 'kernel/sched/isolation.c')
-rw-r--r-- | kernel/sched/isolation.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c index 3589252ed476..16445097eb25 100644 --- a/kernel/sched/isolation.c +++ b/kernel/sched/isolation.c | |||
@@ -11,7 +11,41 @@ | |||
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | 13 | ||
14 | cpumask_var_t housekeeping_mask; | 14 | static cpumask_var_t housekeeping_mask; |
15 | |||
16 | int housekeeping_any_cpu(void) | ||
17 | { | ||
18 | if (tick_nohz_full_enabled()) | ||
19 | return cpumask_any_and(housekeeping_mask, cpu_online_mask); | ||
20 | |||
21 | return smp_processor_id(); | ||
22 | } | ||
23 | EXPORT_SYMBOL_GPL(housekeeping_any_cpu); | ||
24 | |||
25 | const struct cpumask *housekeeping_cpumask(void) | ||
26 | { | ||
27 | if (tick_nohz_full_enabled()) | ||
28 | return housekeeping_mask; | ||
29 | |||
30 | return cpu_possible_mask; | ||
31 | } | ||
32 | EXPORT_SYMBOL_GPL(housekeeping_cpumask); | ||
33 | |||
34 | void housekeeping_affine(struct task_struct *t) | ||
35 | { | ||
36 | if (tick_nohz_full_enabled()) | ||
37 | set_cpus_allowed_ptr(t, housekeeping_mask); | ||
38 | } | ||
39 | EXPORT_SYMBOL_GPL(housekeeping_affine); | ||
40 | |||
41 | bool housekeeping_test_cpu(int cpu) | ||
42 | { | ||
43 | if (tick_nohz_full_enabled()) | ||
44 | return cpumask_test_cpu(cpu, housekeeping_mask); | ||
45 | |||
46 | return true; | ||
47 | } | ||
48 | EXPORT_SYMBOL_GPL(housekeeping_test_cpu); | ||
15 | 49 | ||
16 | void __init housekeeping_init(void) | 50 | void __init housekeeping_init(void) |
17 | { | 51 | { |