Messages in this thread Patch in this message | | | Date | Thu, 7 May 2015 04:31:47 -0700 | From | tip-bot for Chris Metcalf <> | Subject | [tip:timers/nohz] nohz: Add tick_nohz_full_add_cpus_to() API |
| |
Commit-ID: 83dedea8a07fb4bf91863764b15c1c4ec00330f9 Gitweb: http://git.kernel.org/tip/83dedea8a07fb4bf91863764b15c1c4ec00330f9 Author: Chris Metcalf <cmetcalf@ezchip.com> AuthorDate: Wed, 6 May 2015 18:04:25 +0200 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Thu, 7 May 2015 12:02:51 +0200
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> --- include/linux/tick.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/include/linux/tick.h b/include/linux/tick.h index f8492da5..4191b56 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h @@ -134,6 +134,12 @@ static inline bool tick_nohz_full_cpu(int cpu) return cpumask_test_cpu(cpu, tick_nohz_full_mask); } +static inline void tick_nohz_full_add_cpus_to(struct cpumask *mask) +{ + if (tick_nohz_full_enabled()) + cpumask_or(mask, mask, tick_nohz_full_mask); +} + extern void __tick_nohz_full_check(void); extern void tick_nohz_full_kick(void); extern void tick_nohz_full_kick_cpu(int cpu); @@ -142,6 +148,7 @@ extern void __tick_nohz_task_switch(struct task_struct *tsk); #else static inline bool tick_nohz_full_enabled(void) { return false; } static inline bool tick_nohz_full_cpu(int cpu) { return false; } +static inline void tick_nohz_full_add_cpus_to(struct cpumask *mask) { } static inline void __tick_nohz_full_check(void) { } static inline void tick_nohz_full_kick_cpu(int cpu) { } static inline void tick_nohz_full_kick(void) { }
| |