sched: Move cpu masks from kernel/sched.c into kernel/cpu.c
kernel/cpu.c seems a more logical place for those maps since they do not really have much to do with the scheduler these days. kernel/cpu.c is now built for the UP kernel too, but it does not affect the size the kernel sections. $ size vmlinux before text data bss dec hex filename 3313797 307060 310352 3931209 3bfc49 vmlinux after text data bss dec hex filename 3313797 307060 310352 3931209 3bfc49 vmlinux Signed-off-by: Max Krasnyansky <maxk@qualcomm.com> Cc: pj@sgi.com Cc: menage@google.com Cc: rostedt@goodmis.org Cc: mingo@elte.hu Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
5c8e1ed1d2
commit
68f4f1ec08
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \
|
obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \
|
||||||
exit.o itimer.o time.o softirq.o resource.o \
|
cpu.o exit.o itimer.o time.o softirq.o resource.o \
|
||||||
sysctl.o capability.o ptrace.o timer.o user.o \
|
sysctl.o capability.o ptrace.o timer.o user.o \
|
||||||
signal.o sys.o kmod.o workqueue.o pid.o \
|
signal.o sys.o kmod.o workqueue.o pid.o \
|
||||||
rcupdate.o extable.o params.o posix-timers.o \
|
rcupdate.o extable.o params.o posix-timers.o \
|
||||||
|
@ -27,7 +27,7 @@ obj-$(CONFIG_RT_MUTEXES) += rtmutex.o
|
||||||
obj-$(CONFIG_DEBUG_RT_MUTEXES) += rtmutex-debug.o
|
obj-$(CONFIG_DEBUG_RT_MUTEXES) += rtmutex-debug.o
|
||||||
obj-$(CONFIG_RT_MUTEX_TESTER) += rtmutex-tester.o
|
obj-$(CONFIG_RT_MUTEX_TESTER) += rtmutex-tester.o
|
||||||
obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
|
obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
|
||||||
obj-$(CONFIG_SMP) += cpu.o spinlock.o
|
obj-$(CONFIG_SMP) += spinlock.o
|
||||||
obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o
|
obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o
|
||||||
obj-$(CONFIG_PROVE_LOCKING) += spinlock.o
|
obj-$(CONFIG_PROVE_LOCKING) += spinlock.o
|
||||||
obj-$(CONFIG_UID16) += uid16.o
|
obj-$(CONFIG_UID16) += uid16.o
|
||||||
|
|
24
kernel/cpu.c
24
kernel/cpu.c
|
@ -15,6 +15,28 @@
|
||||||
#include <linux/stop_machine.h>
|
#include <linux/stop_machine.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Represents all cpu's present in the system
|
||||||
|
* In systems capable of hotplug, this map could dynamically grow
|
||||||
|
* as new cpu's are detected in the system via any platform specific
|
||||||
|
* method, such as ACPI for e.g.
|
||||||
|
*/
|
||||||
|
cpumask_t cpu_present_map __read_mostly;
|
||||||
|
EXPORT_SYMBOL(cpu_present_map);
|
||||||
|
|
||||||
|
#ifndef CONFIG_SMP
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Represents all cpu's that are currently online.
|
||||||
|
*/
|
||||||
|
cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL;
|
||||||
|
EXPORT_SYMBOL(cpu_online_map);
|
||||||
|
|
||||||
|
cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL;
|
||||||
|
EXPORT_SYMBOL(cpu_possible_map);
|
||||||
|
|
||||||
|
#else /* CONFIG_SMP */
|
||||||
|
|
||||||
/* Serializes the updates to cpu_online_map, cpu_present_map */
|
/* Serializes the updates to cpu_online_map, cpu_present_map */
|
||||||
static DEFINE_MUTEX(cpu_add_remove_lock);
|
static DEFINE_MUTEX(cpu_add_remove_lock);
|
||||||
|
|
||||||
|
@ -403,3 +425,5 @@ out:
|
||||||
cpu_maps_update_done();
|
cpu_maps_update_done();
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PM_SLEEP_SMP */
|
#endif /* CONFIG_PM_SLEEP_SMP */
|
||||||
|
|
||||||
|
#endif /* CONFIG_SMP */
|
||||||
|
|
|
@ -5080,24 +5080,6 @@ asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len,
|
||||||
return sched_setaffinity(pid, &new_mask);
|
return sched_setaffinity(pid, &new_mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Represents all cpu's present in the system
|
|
||||||
* In systems capable of hotplug, this map could dynamically grow
|
|
||||||
* as new cpu's are detected in the system via any platform specific
|
|
||||||
* method, such as ACPI for e.g.
|
|
||||||
*/
|
|
||||||
|
|
||||||
cpumask_t cpu_present_map __read_mostly;
|
|
||||||
EXPORT_SYMBOL(cpu_present_map);
|
|
||||||
|
|
||||||
#ifndef CONFIG_SMP
|
|
||||||
cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL;
|
|
||||||
EXPORT_SYMBOL(cpu_online_map);
|
|
||||||
|
|
||||||
cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL;
|
|
||||||
EXPORT_SYMBOL(cpu_possible_map);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
long sched_getaffinity(pid_t pid, cpumask_t *mask)
|
long sched_getaffinity(pid_t pid, cpumask_t *mask)
|
||||||
{
|
{
|
||||||
struct task_struct *p;
|
struct task_struct *p;
|
||||||
|
|
Loading…
Reference in New Issue