[PATCH 2/5] kernel/cpu.c: export __cpu_xyz_mask

From: Rasmus Villemoes
Date: Wed May 06 2015 - 18:53:53 EST


Exporting these cpumasks will allow us to remove the extra indirection
through the cpu_xyz_mask variables. It will also allow the set_cpu_xyz
functions to become static inlines, which will give a .text reduction.

Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
---
include/linux/cpumask.h | 4 ++++
kernel/cpu.c | 14 +++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index 27e285b92b5f..1842df8c1d29 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -89,6 +89,10 @@ extern const struct cpumask *const cpu_possible_mask;
extern const struct cpumask *const cpu_online_mask;
extern const struct cpumask *const cpu_present_mask;
extern const struct cpumask *const cpu_active_mask;
+extern struct cpumask __cpu_possible_mask;
+extern struct cpumask __cpu_online_mask;
+extern struct cpumask __cpu_present_mask;
+extern struct cpumask __cpu_active_mask;

#if NR_CPUS > 1
#define num_online_cpus() cpumask_weight(cpu_online_mask)
diff --git a/kernel/cpu.c b/kernel/cpu.c
index de38b31b4a3d..852922a793a3 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -755,23 +755,27 @@ const DECLARE_BITMAP(cpu_all_bits, NR_CPUS) = CPU_BITS_ALL;
EXPORT_SYMBOL(cpu_all_bits);

#ifdef CONFIG_INIT_ALL_POSSIBLE
-static struct cpumask __cpu_possible_mask __read_mostly
+struct cpumask __cpu_possible_mask __read_mostly
= {CPU_BITS_ALL};
#else
-static struct cpumask __cpu_possible_mask __read_mostly;
+struct cpumask __cpu_possible_mask __read_mostly;
#endif
+EXPORT_SYMBOL(__cpu_possible_mask);
const struct cpumask *const cpu_possible_mask = &__cpu_possible_mask;
EXPORT_SYMBOL(cpu_possible_mask);

-static struct cpumask __cpu_online_mask __read_mostly;
+struct cpumask __cpu_online_mask __read_mostly;
+EXPORT_SYMBOL(__cpu_online_mask);
const struct cpumask *const cpu_online_mask = &__cpu_online_mask;
EXPORT_SYMBOL(cpu_online_mask);

-static struct cpumask __cpu_present_mask __read_mostly;
+struct cpumask __cpu_present_mask __read_mostly;
+EXPORT_SYMBOL(__cpu_present_mask);
const struct cpumask *const cpu_present_mask = &__cpu_present_mask;
EXPORT_SYMBOL(cpu_present_mask);

-static struct cpumask __cpu_active_mask __read_mostly;
+struct cpumask __cpu_active_mask __read_mostly;
+EXPORT_SYMBOL(__cpu_active_mask);
const struct cpumask *const cpu_active_mask = &__cpu_active_mask;
EXPORT_SYMBOL(cpu_active_mask);

--
2.1.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/