diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 17:11:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 17:11:14 -0400 |
commit | ff86303e3021587c49a14df1bc54fe2d393e2223 (patch) | |
tree | 7f1b26407aef36ba486428285604b8b7a7cbf99e /include | |
parent | 626ac545c12e5f9bffe93086d1d03d26c99987ea (diff) | |
parent | e436d80085133858bf2613a630365e8a0459fd58 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
[PATCH] sched: implement cpu_clock(cpu) high-speed time source
[PATCH] sched: fix the all pinned logic in load_balance_newidle()
[PATCH] sched: fix newly idle load balance in case of SMT
[PATCH] sched: sched_cacheflush is now unused
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-alpha/system.h | 10 | ||||
-rw-r--r-- | include/asm-arm/system.h | 10 | ||||
-rw-r--r-- | include/asm-arm26/system.h | 10 | ||||
-rw-r--r-- | include/asm-i386/system.h | 9 | ||||
-rw-r--r-- | include/asm-ia64/system.h | 1 | ||||
-rw-r--r-- | include/asm-m32r/system.h | 10 | ||||
-rw-r--r-- | include/asm-mips/system.h | 10 | ||||
-rw-r--r-- | include/asm-parisc/system.h | 11 | ||||
-rw-r--r-- | include/asm-powerpc/system.h | 10 | ||||
-rw-r--r-- | include/asm-ppc/system.h | 10 | ||||
-rw-r--r-- | include/asm-s390/system.h | 10 | ||||
-rw-r--r-- | include/asm-sh/system.h | 10 | ||||
-rw-r--r-- | include/asm-sparc/system.h | 10 | ||||
-rw-r--r-- | include/asm-sparc64/system.h | 10 | ||||
-rw-r--r-- | include/asm-x86_64/system.h | 9 | ||||
-rw-r--r-- | include/linux/sched.h | 7 |
16 files changed, 7 insertions, 140 deletions
diff --git a/include/asm-alpha/system.h b/include/asm-alpha/system.h index cf1021a97b2e..620c4d86cbf4 100644 --- a/include/asm-alpha/system.h +++ b/include/asm-alpha/system.h | |||
@@ -139,16 +139,6 @@ extern void halt(void) __attribute__((noreturn)); | |||
139 | struct task_struct; | 139 | struct task_struct; |
140 | extern struct task_struct *alpha_switch_to(unsigned long, struct task_struct*); | 140 | extern struct task_struct *alpha_switch_to(unsigned long, struct task_struct*); |
141 | 141 | ||
142 | /* | ||
143 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
144 | * it needs a way to flush as much of the CPU's caches as possible. | ||
145 | * | ||
146 | * TODO: fill this in! | ||
147 | */ | ||
148 | static inline void sched_cacheflush(void) | ||
149 | { | ||
150 | } | ||
151 | |||
152 | #define imb() \ | 142 | #define imb() \ |
153 | __asm__ __volatile__ ("call_pal %0 #imb" : : "i" (PAL_imb) : "memory") | 143 | __asm__ __volatile__ ("call_pal %0 #imb" : : "i" (PAL_imb) : "memory") |
154 | 144 | ||
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index 6f8e6a69dc5f..94ea8c6dc1a4 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h | |||
@@ -254,16 +254,6 @@ do { \ | |||
254 | last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \ | 254 | last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \ |
255 | } while (0) | 255 | } while (0) |
256 | 256 | ||
257 | /* | ||
258 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
259 | * it needs a way to flush as much of the CPU's caches as possible. | ||
260 | * | ||
261 | * TODO: fill this in! | ||
262 | */ | ||
263 | static inline void sched_cacheflush(void) | ||
264 | { | ||
265 | } | ||
266 | |||
267 | #if defined(CONFIG_CPU_SA1100) || defined(CONFIG_CPU_SA110) | 257 | #if defined(CONFIG_CPU_SA1100) || defined(CONFIG_CPU_SA110) |
268 | /* | 258 | /* |
269 | * On the StrongARM, "swp" is terminally broken since it bypasses the | 259 | * On the StrongARM, "swp" is terminally broken since it bypasses the |
diff --git a/include/asm-arm26/system.h b/include/asm-arm26/system.h index 4703593b3bb5..e09da5ff1f54 100644 --- a/include/asm-arm26/system.h +++ b/include/asm-arm26/system.h | |||
@@ -110,16 +110,6 @@ do { \ | |||
110 | } while (0) | 110 | } while (0) |
111 | 111 | ||
112 | /* | 112 | /* |
113 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
114 | * it needs a way to flush as much of the CPU's caches as possible. | ||
115 | * | ||
116 | * TODO: fill this in! | ||
117 | */ | ||
118 | static inline void sched_cacheflush(void) | ||
119 | { | ||
120 | } | ||
121 | |||
122 | /* | ||
123 | * Save the current interrupt enable state & disable IRQs | 113 | * Save the current interrupt enable state & disable IRQs |
124 | */ | 114 | */ |
125 | #define local_irq_save(x) \ | 115 | #define local_irq_save(x) \ |
diff --git a/include/asm-i386/system.h b/include/asm-i386/system.h index 94ed3686a5f3..609756c61676 100644 --- a/include/asm-i386/system.h +++ b/include/asm-i386/system.h | |||
@@ -310,15 +310,6 @@ void enable_hlt(void); | |||
310 | extern int es7000_plat; | 310 | extern int es7000_plat; |
311 | void cpu_idle_wait(void); | 311 | void cpu_idle_wait(void); |
312 | 312 | ||
313 | /* | ||
314 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
315 | * it needs a way to flush as much of the CPU's caches as possible: | ||
316 | */ | ||
317 | static inline void sched_cacheflush(void) | ||
318 | { | ||
319 | wbinvd(); | ||
320 | } | ||
321 | |||
322 | extern unsigned long arch_align_stack(unsigned long sp); | 313 | extern unsigned long arch_align_stack(unsigned long sp); |
323 | extern void free_init_pages(char *what, unsigned long begin, unsigned long end); | 314 | extern void free_init_pages(char *what, unsigned long begin, unsigned long end); |
324 | 315 | ||
diff --git a/include/asm-ia64/system.h b/include/asm-ia64/system.h index 384fbf7f2a0f..91bb8e00066c 100644 --- a/include/asm-ia64/system.h +++ b/include/asm-ia64/system.h | |||
@@ -259,7 +259,6 @@ extern void ia64_load_extra (struct task_struct *task); | |||
259 | #define ia64_platform_is(x) (strcmp(x, platform_name) == 0) | 259 | #define ia64_platform_is(x) (strcmp(x, platform_name) == 0) |
260 | 260 | ||
261 | void cpu_idle_wait(void); | 261 | void cpu_idle_wait(void); |
262 | void sched_cacheflush(void); | ||
263 | 262 | ||
264 | #define arch_align_stack(x) (x) | 263 | #define arch_align_stack(x) (x) |
265 | 264 | ||
diff --git a/include/asm-m32r/system.h b/include/asm-m32r/system.h index 8ee73d3f316d..2365de5c2955 100644 --- a/include/asm-m32r/system.h +++ b/include/asm-m32r/system.h | |||
@@ -54,16 +54,6 @@ | |||
54 | ); \ | 54 | ); \ |
55 | } while(0) | 55 | } while(0) |
56 | 56 | ||
57 | /* | ||
58 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
59 | * it needs a way to flush as much of the CPU's caches as possible. | ||
60 | * | ||
61 | * TODO: fill this in! | ||
62 | */ | ||
63 | static inline void sched_cacheflush(void) | ||
64 | { | ||
65 | } | ||
66 | |||
67 | /* Interrupt Control */ | 57 | /* Interrupt Control */ |
68 | #if !defined(CONFIG_CHIP_M32102) && !defined(CONFIG_CHIP_M32104) | 58 | #if !defined(CONFIG_CHIP_M32102) && !defined(CONFIG_CHIP_M32104) |
69 | #define local_irq_enable() \ | 59 | #define local_irq_enable() \ |
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 46bdb3f566f9..76339165bc20 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
@@ -71,16 +71,6 @@ do { \ | |||
71 | write_c0_userlocal(task_thread_info(current)->tp_value);\ | 71 | write_c0_userlocal(task_thread_info(current)->tp_value);\ |
72 | } while(0) | 72 | } while(0) |
73 | 73 | ||
74 | /* | ||
75 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
76 | * it needs a way to flush as much of the CPU's caches as possible. | ||
77 | * | ||
78 | * TODO: fill this in! | ||
79 | */ | ||
80 | static inline void sched_cacheflush(void) | ||
81 | { | ||
82 | } | ||
83 | |||
84 | static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) | 74 | static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) |
85 | { | 75 | { |
86 | __u32 retval; | 76 | __u32 retval; |
diff --git a/include/asm-parisc/system.h b/include/asm-parisc/system.h index 21fbfc5afd02..ee80c920b464 100644 --- a/include/asm-parisc/system.h +++ b/include/asm-parisc/system.h | |||
@@ -48,17 +48,6 @@ extern struct task_struct *_switch_to(struct task_struct *, struct task_struct * | |||
48 | (last) = _switch_to(prev, next); \ | 48 | (last) = _switch_to(prev, next); \ |
49 | } while(0) | 49 | } while(0) |
50 | 50 | ||
51 | /* | ||
52 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
53 | * it needs a way to flush as much of the CPU's caches as possible. | ||
54 | * | ||
55 | * TODO: fill this in! | ||
56 | */ | ||
57 | static inline void sched_cacheflush(void) | ||
58 | { | ||
59 | } | ||
60 | |||
61 | |||
62 | /* interrupt control */ | 51 | /* interrupt control */ |
63 | #define local_save_flags(x) __asm__ __volatile__("ssm 0, %0" : "=r" (x) : : "memory") | 52 | #define local_save_flags(x) __asm__ __volatile__("ssm 0, %0" : "=r" (x) : : "memory") |
64 | #define local_irq_disable() __asm__ __volatile__("rsm %0,%%r0\n" : : "i" (PSW_I) : "memory" ) | 53 | #define local_irq_disable() __asm__ __volatile__("rsm %0,%%r0\n" : : "i" (PSW_I) : "memory" ) |
diff --git a/include/asm-powerpc/system.h b/include/asm-powerpc/system.h index 32aa42b748be..41520b7a7b76 100644 --- a/include/asm-powerpc/system.h +++ b/include/asm-powerpc/system.h | |||
@@ -184,16 +184,6 @@ struct thread_struct; | |||
184 | extern struct task_struct *_switch(struct thread_struct *prev, | 184 | extern struct task_struct *_switch(struct thread_struct *prev, |
185 | struct thread_struct *next); | 185 | struct thread_struct *next); |
186 | 186 | ||
187 | /* | ||
188 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
189 | * it needs a way to flush as much of the CPU's caches as possible. | ||
190 | * | ||
191 | * TODO: fill this in! | ||
192 | */ | ||
193 | static inline void sched_cacheflush(void) | ||
194 | { | ||
195 | } | ||
196 | |||
197 | extern unsigned int rtas_data; | 187 | extern unsigned int rtas_data; |
198 | extern int mem_init_done; /* set on boot once kmalloc can be called */ | 188 | extern int mem_init_done; /* set on boot once kmalloc can be called */ |
199 | extern unsigned long memory_limit; | 189 | extern unsigned long memory_limit; |
diff --git a/include/asm-ppc/system.h b/include/asm-ppc/system.h index d84a3cf4d033..f1311a8f310f 100644 --- a/include/asm-ppc/system.h +++ b/include/asm-ppc/system.h | |||
@@ -129,16 +129,6 @@ extern struct task_struct *__switch_to(struct task_struct *, | |||
129 | struct task_struct *); | 129 | struct task_struct *); |
130 | #define switch_to(prev, next, last) ((last) = __switch_to((prev), (next))) | 130 | #define switch_to(prev, next, last) ((last) = __switch_to((prev), (next))) |
131 | 131 | ||
132 | /* | ||
133 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
134 | * it needs a way to flush as much of the CPU's caches as possible. | ||
135 | * | ||
136 | * TODO: fill this in! | ||
137 | */ | ||
138 | static inline void sched_cacheflush(void) | ||
139 | { | ||
140 | } | ||
141 | |||
142 | struct thread_struct; | 132 | struct thread_struct; |
143 | extern struct task_struct *_switch(struct thread_struct *prev, | 133 | extern struct task_struct *_switch(struct thread_struct *prev, |
144 | struct thread_struct *next); | 134 | struct thread_struct *next); |
diff --git a/include/asm-s390/system.h b/include/asm-s390/system.h index bbe137c3ed69..64a3cd05cae1 100644 --- a/include/asm-s390/system.h +++ b/include/asm-s390/system.h | |||
@@ -97,16 +97,6 @@ static inline void restore_access_regs(unsigned int *acrs) | |||
97 | prev = __switch_to(prev,next); \ | 97 | prev = __switch_to(prev,next); \ |
98 | } while (0) | 98 | } while (0) |
99 | 99 | ||
100 | /* | ||
101 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
102 | * it needs a way to flush as much of the CPU's caches as possible. | ||
103 | * | ||
104 | * TODO: fill this in! | ||
105 | */ | ||
106 | static inline void sched_cacheflush(void) | ||
107 | { | ||
108 | } | ||
109 | |||
110 | #ifdef CONFIG_VIRT_CPU_ACCOUNTING | 100 | #ifdef CONFIG_VIRT_CPU_ACCOUNTING |
111 | extern void account_vtime(struct task_struct *); | 101 | extern void account_vtime(struct task_struct *); |
112 | extern void account_tick_vtime(struct task_struct *); | 102 | extern void account_tick_vtime(struct task_struct *); |
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h index 7c75045ae22b..245042537205 100644 --- a/include/asm-sh/system.h +++ b/include/asm-sh/system.h | |||
@@ -64,16 +64,6 @@ struct task_struct *__switch_to(struct task_struct *prev, | |||
64 | last = __last; \ | 64 | last = __last; \ |
65 | } while (0) | 65 | } while (0) |
66 | 66 | ||
67 | /* | ||
68 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
69 | * it needs a way to flush as much of the CPU's caches as possible. | ||
70 | * | ||
71 | * TODO: fill this in! | ||
72 | */ | ||
73 | static inline void sched_cacheflush(void) | ||
74 | { | ||
75 | } | ||
76 | |||
77 | #ifdef CONFIG_CPU_SH4A | 67 | #ifdef CONFIG_CPU_SH4A |
78 | #define __icbi() \ | 68 | #define __icbi() \ |
79 | { \ | 69 | { \ |
diff --git a/include/asm-sparc/system.h b/include/asm-sparc/system.h index 8b4e23b3bb38..d1a2572e3f55 100644 --- a/include/asm-sparc/system.h +++ b/include/asm-sparc/system.h | |||
@@ -165,16 +165,6 @@ extern void fpsave(unsigned long *fpregs, unsigned long *fsr, | |||
165 | } while(0) | 165 | } while(0) |
166 | 166 | ||
167 | /* | 167 | /* |
168 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
169 | * it needs a way to flush as much of the CPU's caches as possible. | ||
170 | * | ||
171 | * TODO: fill this in! | ||
172 | */ | ||
173 | static inline void sched_cacheflush(void) | ||
174 | { | ||
175 | } | ||
176 | |||
177 | /* | ||
178 | * Changing the IRQ level on the Sparc. | 168 | * Changing the IRQ level on the Sparc. |
179 | */ | 169 | */ |
180 | extern void local_irq_restore(unsigned long); | 170 | extern void local_irq_restore(unsigned long); |
diff --git a/include/asm-sparc64/system.h b/include/asm-sparc64/system.h index 8ba380ec6daa..409067408eec 100644 --- a/include/asm-sparc64/system.h +++ b/include/asm-sparc64/system.h | |||
@@ -204,16 +204,6 @@ do { if (test_thread_flag(TIF_PERFCTR)) { \ | |||
204 | } \ | 204 | } \ |
205 | } while(0) | 205 | } while(0) |
206 | 206 | ||
207 | /* | ||
208 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
209 | * it needs a way to flush as much of the CPU's caches as possible. | ||
210 | * | ||
211 | * TODO: fill this in! | ||
212 | */ | ||
213 | static inline void sched_cacheflush(void) | ||
214 | { | ||
215 | } | ||
216 | |||
217 | static inline unsigned long xchg32(__volatile__ unsigned int *m, unsigned int val) | 207 | static inline unsigned long xchg32(__volatile__ unsigned int *m, unsigned int val) |
218 | { | 208 | { |
219 | unsigned long tmp1, tmp2; | 209 | unsigned long tmp1, tmp2; |
diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h index ead9f9a56234..e4f246d62c46 100644 --- a/include/asm-x86_64/system.h +++ b/include/asm-x86_64/system.h | |||
@@ -111,15 +111,6 @@ static inline void write_cr4(unsigned long val) | |||
111 | #define wbinvd() \ | 111 | #define wbinvd() \ |
112 | __asm__ __volatile__ ("wbinvd": : :"memory"); | 112 | __asm__ __volatile__ ("wbinvd": : :"memory"); |
113 | 113 | ||
114 | /* | ||
115 | * On SMP systems, when the scheduler does migration-cost autodetection, | ||
116 | * it needs a way to flush as much of the CPU's caches as possible. | ||
117 | */ | ||
118 | static inline void sched_cacheflush(void) | ||
119 | { | ||
120 | wbinvd(); | ||
121 | } | ||
122 | |||
123 | #endif /* __KERNEL__ */ | 114 | #endif /* __KERNEL__ */ |
124 | 115 | ||
125 | #define nop() __asm__ __volatile__ ("nop") | 116 | #define nop() __asm__ __volatile__ ("nop") |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 94f624aef017..33b9b4841ee7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1348,6 +1348,13 @@ static inline int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask) | |||
1348 | #endif | 1348 | #endif |
1349 | 1349 | ||
1350 | extern unsigned long long sched_clock(void); | 1350 | extern unsigned long long sched_clock(void); |
1351 | |||
1352 | /* | ||
1353 | * For kernel-internal use: high-speed (but slightly incorrect) per-cpu | ||
1354 | * clock constructed from sched_clock(): | ||
1355 | */ | ||
1356 | extern unsigned long long cpu_clock(int cpu); | ||
1357 | |||
1351 | extern unsigned long long | 1358 | extern unsigned long long |
1352 | task_sched_runtime(struct task_struct *task); | 1359 | task_sched_runtime(struct task_struct *task); |
1353 | 1360 | ||