aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/cpumask.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-11-13 16:37:52 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-11-13 16:37:52 -0500
commit3e2014637c50e5d6a77cd63d5db6c209fe29d1b1 (patch)
treea672ed603262aeddda4490056b27b09791d0cbbb /include/linux/cpumask.h
parentf2be8bd52e7410c70145f73511a2e80f4797e1a5 (diff)
parent765cc3a4b224e22bf524fabe40284a524f37cdd0 (diff)
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar: "The main updates in this cycle were: - Group balancing enhancements and cleanups (Brendan Jackman) - Move CPU isolation related functionality into its separate kernel/sched/isolation.c file, with related 'housekeeping_*()' namespace and nomenclature et al. (Frederic Weisbecker) - Improve the interactive/cpu-intense fairness calculation (Josef Bacik) - Improve the PELT code and related cleanups (Peter Zijlstra) - Improve the logic of pick_next_task_fair() (Uladzislau Rezki) - Improve the RT IPI based balancing logic (Steven Rostedt) - Various micro-optimizations: - better !CONFIG_SCHED_DEBUG optimizations (Patrick Bellasi) - better idle loop (Cheng Jian) - ... plus misc fixes, cleanups and updates" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits) sched/core: Optimize sched_feat() for !CONFIG_SCHED_DEBUG builds sched/sysctl: Fix attributes of some extern declarations sched/isolation: Document isolcpus= boot parameter flags, mark it deprecated sched/isolation: Add basic isolcpus flags sched/isolation: Move isolcpus= handling to the housekeeping code sched/isolation: Handle the nohz_full= parameter sched/isolation: Introduce housekeeping flags sched/isolation: Split out new CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL sched/isolation: Rename is_housekeeping_cpu() to housekeeping_cpu() sched/isolation: Use its own static key sched/isolation: Make the housekeeping cpumask private sched/isolation: Provide a dynamic off-case to housekeeping_any_cpu() sched/isolation, watchdog: Use housekeeping_cpumask() instead of ad-hoc version sched/isolation: Move housekeeping related code to its own file sched/idle: Micro-optimize the idle loop sched/isolcpus: Fix "isolcpus=" boot parameter handling when !CONFIG_CPUMASK_OFFSTACK x86/tsc: Append the 'tsc=' description for the 'tsc=unstable' boot parameter sched/rt: Simplify the IPI based RT balancing logic block/ioprio: Use a helper to check for RT prio sched/rt: Add a helper to test for a RT task ...
Diffstat (limited to 'include/linux/cpumask.h')
-rw-r--r--include/linux/cpumask.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index 8d3125c493b2..75b565194437 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -131,6 +131,11 @@ static inline unsigned int cpumask_first(const struct cpumask *srcp)
131 return 0; 131 return 0;
132} 132}
133 133
134static inline unsigned int cpumask_last(const struct cpumask *srcp)
135{
136 return 0;
137}
138
134/* Valid inputs for n are -1 and 0. */ 139/* Valid inputs for n are -1 and 0. */
135static inline unsigned int cpumask_next(int n, const struct cpumask *srcp) 140static inline unsigned int cpumask_next(int n, const struct cpumask *srcp)
136{ 141{
@@ -179,6 +184,17 @@ static inline unsigned int cpumask_first(const struct cpumask *srcp)
179 return find_first_bit(cpumask_bits(srcp), nr_cpumask_bits); 184 return find_first_bit(cpumask_bits(srcp), nr_cpumask_bits);
180} 185}
181 186
187/**
188 * cpumask_last - get the last CPU in a cpumask
189 * @srcp: - the cpumask pointer
190 *
191 * Returns >= nr_cpumask_bits if no CPUs set.
192 */
193static inline unsigned int cpumask_last(const struct cpumask *srcp)
194{
195 return find_last_bit(cpumask_bits(srcp), nr_cpumask_bits);
196}
197
182unsigned int cpumask_next(int n, const struct cpumask *srcp); 198unsigned int cpumask_next(int n, const struct cpumask *srcp);
183 199
184/** 200/**