diff options
| author | Max Krasnyansky <maxk@qualcomm.com> | 2008-05-29 14:17:02 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-06-06 09:25:01 -0400 |
| commit | 68f4f1ec08e3d95730a2693b99df8260aa0d06ae (patch) | |
| tree | c5deab621f545eac80fcec6608d68cddf6705032 /kernel | |
| parent | 5c8e1ed1d204a6770ca2854cd3b3597070fe7e5a (diff) | |
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>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/Makefile | 4 | ||||
| -rw-r--r-- | kernel/cpu.c | 24 | ||||
| -rw-r--r-- | kernel/sched.c | 18 |
3 files changed, 26 insertions, 20 deletions
diff --git a/kernel/Makefile b/kernel/Makefile index ecdd2d33563..6c55301112e 100644 --- a/kernel/Makefile +++ b/kernel/Makefile | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \ | 5 | obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \ |
| 6 | exit.o itimer.o time.o softirq.o resource.o \ | 6 | cpu.o exit.o itimer.o time.o softirq.o resource.o \ |
| 7 | sysctl.o capability.o ptrace.o timer.o user.o \ | 7 | sysctl.o capability.o ptrace.o timer.o user.o \ |
| 8 | signal.o sys.o kmod.o workqueue.o pid.o \ | 8 | signal.o sys.o kmod.o workqueue.o pid.o \ |
| 9 | rcupdate.o extable.o params.o posix-timers.o \ | 9 | rcupdate.o extable.o params.o posix-timers.o \ |
| @@ -27,7 +27,7 @@ obj-$(CONFIG_RT_MUTEXES) += rtmutex.o | |||
| 27 | obj-$(CONFIG_DEBUG_RT_MUTEXES) += rtmutex-debug.o | 27 | obj-$(CONFIG_DEBUG_RT_MUTEXES) += rtmutex-debug.o |
| 28 | obj-$(CONFIG_RT_MUTEX_TESTER) += rtmutex-tester.o | 28 | obj-$(CONFIG_RT_MUTEX_TESTER) += rtmutex-tester.o |
| 29 | obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o | 29 | obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o |
| 30 | obj-$(CONFIG_SMP) += cpu.o spinlock.o | 30 | obj-$(CONFIG_SMP) += spinlock.o |
| 31 | obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o | 31 | obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o |
| 32 | obj-$(CONFIG_PROVE_LOCKING) += spinlock.o | 32 | obj-$(CONFIG_PROVE_LOCKING) += spinlock.o |
| 33 | obj-$(CONFIG_UID16) += uid16.o | 33 | obj-$(CONFIG_UID16) += uid16.o |
diff --git a/kernel/cpu.c b/kernel/cpu.c index c77bc3a1c72..b11f06dc149 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c | |||
| @@ -15,6 +15,28 @@ | |||
| 15 | #include <linux/stop_machine.h> | 15 | #include <linux/stop_machine.h> |
| 16 | #include <linux/mutex.h> | 16 | #include <linux/mutex.h> |
| 17 | 17 | ||
| 18 | /* | ||
| 19 | * Represents all cpu's present in the system | ||
| 20 | * In systems capable of hotplug, this map could dynamically grow | ||
| 21 | * as new cpu's are detected in the system via any platform specific | ||
| 22 | * method, such as ACPI for e.g. | ||
| 23 | */ | ||
| 24 | cpumask_t cpu_present_map __read_mostly; | ||
| 25 | EXPORT_SYMBOL(cpu_present_map); | ||
| 26 | |||
| 27 | #ifndef CONFIG_SMP | ||
| 28 | |||
| 29 | /* | ||
| 30 | * Represents all cpu's that are currently online. | ||
| 31 | */ | ||
| 32 | cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL; | ||
| 33 | EXPORT_SYMBOL(cpu_online_map); | ||
| 34 | |||
| 35 | cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL; | ||
| 36 | EXPORT_SYMBOL(cpu_possible_map); | ||
| 37 | |||
| 38 | #else /* CONFIG_SMP */ | ||
| 39 | |||
| 18 | /* Serializes the updates to cpu_online_map, cpu_present_map */ | 40 | /* Serializes the updates to cpu_online_map, cpu_present_map */ |
| 19 | static DEFINE_MUTEX(cpu_add_remove_lock); | 41 | static DEFINE_MUTEX(cpu_add_remove_lock); |
| 20 | 42 | ||
| @@ -403,3 +425,5 @@ out: | |||
| 403 | cpu_maps_update_done(); | 425 | cpu_maps_update_done(); |
| 404 | } | 426 | } |
| 405 | #endif /* CONFIG_PM_SLEEP_SMP */ | 427 | #endif /* CONFIG_PM_SLEEP_SMP */ |
| 428 | |||
| 429 | #endif /* CONFIG_SMP */ | ||
diff --git a/kernel/sched.c b/kernel/sched.c index 1ddb0a8c797..f36f549e574 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -5080,24 +5080,6 @@ asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len, | |||
| 5080 | return sched_setaffinity(pid, &new_mask); | 5080 | return sched_setaffinity(pid, &new_mask); |
| 5081 | } | 5081 | } |
| 5082 | 5082 | ||
| 5083 | /* | ||
| 5084 | * Represents all cpu's present in the system | ||
| 5085 | * In systems capable of hotplug, this map could dynamically grow | ||
| 5086 | * as new cpu's are detected in the system via any platform specific | ||
| 5087 | * method, such as ACPI for e.g. | ||
| 5088 | */ | ||
| 5089 | |||
| 5090 | cpumask_t cpu_present_map __read_mostly; | ||
| 5091 | EXPORT_SYMBOL(cpu_present_map); | ||
| 5092 | |||
| 5093 | #ifndef CONFIG_SMP | ||
| 5094 | cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL; | ||
| 5095 | EXPORT_SYMBOL(cpu_online_map); | ||
| 5096 | |||
| 5097 | cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL; | ||
| 5098 | EXPORT_SYMBOL(cpu_possible_map); | ||
| 5099 | #endif | ||
| 5100 | |||
| 5101 | long sched_getaffinity(pid_t pid, cpumask_t *mask) | 5083 | long sched_getaffinity(pid_t pid, cpumask_t *mask) |
| 5102 | { | 5084 | { |
| 5103 | struct task_struct *p; | 5085 | struct task_struct *p; |
