[PATCH] cpumask: uninline next_cpu()
text data bss dec hex filename
before: 3488027 1322496 360128 5170651 4ee5db vmlinux
after: 3485112 1322480 359968 5167560 4ed9c8 vmlinux
2931 bytes saved
Cc: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index 9b702fd..4b29e50 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -215,16 +215,13 @@
#ifdef CONFIG_SMP
int __first_cpu(const cpumask_t *srcp);
#define first_cpu(src) __first_cpu(&(src))
+int __next_cpu(int n, const cpumask_t *srcp);
+#define next_cpu(n, src) __next_cpu((n), &(src))
#else
-#define first_cpu(src) 0
+#define first_cpu(src) 0
+#define next_cpu(n, src) 1
#endif
-#define next_cpu(n, src) __next_cpu((n), &(src), NR_CPUS)
-static inline int __next_cpu(int n, const cpumask_t *srcp, int nbits)
-{
- return min_t(int, nbits, find_next_bit(srcp->bits, nbits, n+1));
-}
-
#define cpumask_of_cpu(cpu) \
({ \
typeof(_unused_cpumask_arg_) m; \
diff --git a/lib/cpumask.c b/lib/cpumask.c
index 1560d97..ba2f854 100644
--- a/lib/cpumask.c
+++ b/lib/cpumask.c
@@ -9,3 +9,8 @@
}
EXPORT_SYMBOL(__first_cpu);
+int __next_cpu(int n, const cpumask_t *srcp)
+{
+ return min_t(int, NR_CPUS, find_next_bit(srcp->bits, NR_CPUS, n+1));
+}
+EXPORT_SYMBOL(__next_cpu);