|
|
@@ -130,6 +130,11 @@ static inline unsigned int cpumask_first(const struct cpumask *srcp)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static inline unsigned int cpumask_last(const struct cpumask *srcp)
|
|
|
+{
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
/* Valid inputs for n are -1 and 0. */
|
|
|
static inline unsigned int cpumask_next(int n, const struct cpumask *srcp)
|
|
|
{
|
|
|
@@ -178,6 +183,17 @@ static inline unsigned int cpumask_first(const struct cpumask *srcp)
|
|
|
return find_first_bit(cpumask_bits(srcp), nr_cpumask_bits);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * cpumask_last - get the last CPU in a cpumask
|
|
|
+ * @srcp: - the cpumask pointer
|
|
|
+ *
|
|
|
+ * Returns >= nr_cpumask_bits if no CPUs set.
|
|
|
+ */
|
|
|
+static inline unsigned int cpumask_last(const struct cpumask *srcp)
|
|
|
+{
|
|
|
+ return find_last_bit(cpumask_bits(srcp), nr_cpumask_bits);
|
|
|
+}
|
|
|
+
|
|
|
unsigned int cpumask_next(int n, const struct cpumask *srcp);
|
|
|
|
|
|
/**
|