aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tick.h
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@ezchip.com>2015-05-06 12:04:25 -0400
committerIngo Molnar <mingo@kernel.org>2015-05-07 06:02:51 -0400
commit83dedea8a07fb4bf91863764b15c1c4ec00330f9 (patch)
tree89db8147225d8091a8c3b25c543779e8cb0c199d /include/linux/tick.h
parentfafe870f31212a72f3c2d74e7b90e4ef39e83ee1 (diff)
nohz: Add tick_nohz_full_add_cpus_to() API
This API is useful to modify a cpumask indicating some special nohz-type functionality so that the nohz cores are automatically added to that set. Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Jones <davej@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Mike Galbraith <umgwanakikbuti@gmail.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Rik van Riel <riel@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1429024675-18938-1-git-send-email-cmetcalf@ezchip.com Link: http://lkml.kernel.org/r/1430928266-24888-4-git-send-email-fweisbec@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/tick.h')
-rw-r--r--include/linux/tick.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/tick.h b/include/linux/tick.h
index f8492da57ad3..4191b5623a28 100644
--- a/include/linux/tick.h
+++ b/include/linux/tick.h
@@ -134,6 +134,12 @@ static inline bool tick_nohz_full_cpu(int cpu)
134 return cpumask_test_cpu(cpu, tick_nohz_full_mask); 134 return cpumask_test_cpu(cpu, tick_nohz_full_mask);
135} 135}
136 136
137static inline void tick_nohz_full_add_cpus_to(struct cpumask *mask)
138{
139 if (tick_nohz_full_enabled())
140 cpumask_or(mask, mask, tick_nohz_full_mask);
141}
142
137extern void __tick_nohz_full_check(void); 143extern void __tick_nohz_full_check(void);
138extern void tick_nohz_full_kick(void); 144extern void tick_nohz_full_kick(void);
139extern void tick_nohz_full_kick_cpu(int cpu); 145extern void tick_nohz_full_kick_cpu(int cpu);
@@ -142,6 +148,7 @@ extern void __tick_nohz_task_switch(struct task_struct *tsk);
142#else 148#else
143static inline bool tick_nohz_full_enabled(void) { return false; } 149static inline bool tick_nohz_full_enabled(void) { return false; }
144static inline bool tick_nohz_full_cpu(int cpu) { return false; } 150static inline bool tick_nohz_full_cpu(int cpu) { return false; }
151static inline void tick_nohz_full_add_cpus_to(struct cpumask *mask) { }
145static inline void __tick_nohz_full_check(void) { } 152static inline void __tick_nohz_full_check(void) { }
146static inline void tick_nohz_full_kick_cpu(int cpu) { } 153static inline void tick_nohz_full_kick_cpu(int cpu) { }
147static inline void tick_nohz_full_kick(void) { } 154static inline void tick_nohz_full_kick(void) { }