[PATCH 86/89] sched/headers: Remove the <linux/topology.h> include from <linux/sched.h>

From: Ingo Molnar
Date: Mon Feb 06 2017 - 08:34:40 EST


It's used only by a single (rarely used) inline function (task_node(p)),
which we can move to <linux/sched/topology.h>.

( Add <linux/nodemask.h>, because we rely on that. )

Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
include/linux/sched.h | 7 +------
include/linux/sched/topology.h | 7 +++++++
2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 6a8476915979..f541a57a4b74 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -4,6 +4,7 @@
#include <uapi/linux/sched.h>

#include <linux/sched/prio.h>
+#include <linux/nodemask.h>

#include <linux/mutex.h>
#include <linux/plist.h>
@@ -21,7 +22,6 @@
#include <linux/kcov.h>
#include <linux/task_io_accounting.h>
#include <linux/latencytop.h>
-#include <linux/topology.h>

#include <asm/current.h>

@@ -1455,11 +1455,6 @@ static inline unsigned int task_cpu(const struct task_struct *p)
#endif
}

-static inline int task_node(const struct task_struct *p)
-{
- return cpu_to_node(task_cpu(p));
-}
-
extern void set_task_cpu(struct task_struct *p, unsigned int cpu);

#else
diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h
index 0d6fceff37bb..7d065abc7a47 100644
--- a/include/linux/sched/topology.h
+++ b/include/linux/sched/topology.h
@@ -1,6 +1,8 @@
#ifndef _LINUX_SCHED_TOPOLOGY_H
#define _LINUX_SCHED_TOPOLOGY_H

+#include <linux/topology.h>
+
#include <linux/sched/idle.h>

/*
@@ -216,4 +218,9 @@ static inline bool cpus_share_cache(int this_cpu, int that_cpu)

#endif /* !CONFIG_SMP */

+static inline int task_node(const struct task_struct *p)
+{
+ return cpu_to_node(task_cpu(p));
+}
+
#endif /* _LINUX_SCHED_TOPOLOGY_H */
--
2.7.4