diff options
| author | H. Peter Anvin <hpa@zytor.com> | 2008-08-26 01:45:37 -0400 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2008-08-26 01:45:37 -0400 |
| commit | 94d4ac2f4a58c6e37876827c6688c61cef21290c (patch) | |
| tree | 732f4e4794f3c116041242f69754637f75c0dd57 /kernel | |
| parent | ed21763e7b0b3fb50e4efd9d4bc17ef5b035d304 (diff) | |
| parent | 08970fc4e0385790a7b093adfaa4165a189f9eb0 (diff) | |
Merge branch 'x86/urgent' into x86/cleanups
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/nsproxy.c | 1 | ||||
| -rw-r--r-- | kernel/power/swap.c | 1 | ||||
| -rw-r--r-- | kernel/rcupdate.c | 1 | ||||
| -rw-r--r-- | kernel/sched_features.h | 2 | ||||
| -rw-r--r-- | kernel/signal.c | 5 | ||||
| -rw-r--r-- | kernel/smp.c | 10 | ||||
| -rw-r--r-- | kernel/sys.c | 8 | ||||
| -rw-r--r-- | kernel/time/tick-sched.c | 6 | ||||
| -rw-r--r-- | kernel/user_namespace.c | 1 | ||||
| -rw-r--r-- | kernel/utsname.c | 1 | ||||
| -rw-r--r-- | kernel/utsname_sysctl.c | 1 |
11 files changed, 21 insertions, 16 deletions
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c index 21575fc46d05..1d3ef29a2583 100644 --- a/kernel/nsproxy.c +++ b/kernel/nsproxy.c | |||
| @@ -14,7 +14,6 @@ | |||
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
| 17 | #include <linux/version.h> | ||
| 18 | #include <linux/nsproxy.h> | 17 | #include <linux/nsproxy.h> |
| 19 | #include <linux/init_task.h> | 18 | #include <linux/init_task.h> |
| 20 | #include <linux/mnt_namespace.h> | 19 | #include <linux/mnt_namespace.h> |
diff --git a/kernel/power/swap.c b/kernel/power/swap.c index a0abf9a463f9..80ccac849e46 100644 --- a/kernel/power/swap.c +++ b/kernel/power/swap.c | |||
| @@ -14,7 +14,6 @@ | |||
| 14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
| 15 | #include <linux/file.h> | 15 | #include <linux/file.h> |
| 16 | #include <linux/utsname.h> | 16 | #include <linux/utsname.h> |
| 17 | #include <linux/version.h> | ||
| 18 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
| 19 | #include <linux/bitops.h> | 18 | #include <linux/bitops.h> |
| 20 | #include <linux/genhd.h> | 19 | #include <linux/genhd.h> |
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index f14f372cf6f5..467d5940f624 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c | |||
| @@ -77,6 +77,7 @@ void wakeme_after_rcu(struct rcu_head *head) | |||
| 77 | * sections are delimited by rcu_read_lock() and rcu_read_unlock(), | 77 | * sections are delimited by rcu_read_lock() and rcu_read_unlock(), |
| 78 | * and may be nested. | 78 | * and may be nested. |
| 79 | */ | 79 | */ |
| 80 | void synchronize_rcu(void); /* Makes kernel-doc tools happy */ | ||
| 80 | synchronize_rcu_xxx(synchronize_rcu, call_rcu) | 81 | synchronize_rcu_xxx(synchronize_rcu, call_rcu) |
| 81 | EXPORT_SYMBOL_GPL(synchronize_rcu); | 82 | EXPORT_SYMBOL_GPL(synchronize_rcu); |
| 82 | 83 | ||
diff --git a/kernel/sched_features.h b/kernel/sched_features.h index 862b06bd560a..9353ca78154e 100644 --- a/kernel/sched_features.h +++ b/kernel/sched_features.h | |||
| @@ -8,6 +8,6 @@ SCHED_FEAT(SYNC_WAKEUPS, 1) | |||
| 8 | SCHED_FEAT(HRTICK, 1) | 8 | SCHED_FEAT(HRTICK, 1) |
| 9 | SCHED_FEAT(DOUBLE_TICK, 0) | 9 | SCHED_FEAT(DOUBLE_TICK, 0) |
| 10 | SCHED_FEAT(ASYM_GRAN, 1) | 10 | SCHED_FEAT(ASYM_GRAN, 1) |
| 11 | SCHED_FEAT(LB_BIAS, 0) | 11 | SCHED_FEAT(LB_BIAS, 1) |
| 12 | SCHED_FEAT(LB_WAKEUP_UPDATE, 1) | 12 | SCHED_FEAT(LB_WAKEUP_UPDATE, 1) |
| 13 | SCHED_FEAT(ASYM_EFF_LOAD, 1) | 13 | SCHED_FEAT(ASYM_EFF_LOAD, 1) |
diff --git a/kernel/signal.c b/kernel/signal.c index c539f60c6f41..e661b01d340f 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
| @@ -1338,6 +1338,7 @@ int do_notify_parent(struct task_struct *tsk, int sig) | |||
| 1338 | struct siginfo info; | 1338 | struct siginfo info; |
| 1339 | unsigned long flags; | 1339 | unsigned long flags; |
| 1340 | struct sighand_struct *psig; | 1340 | struct sighand_struct *psig; |
| 1341 | int ret = sig; | ||
| 1341 | 1342 | ||
| 1342 | BUG_ON(sig == -1); | 1343 | BUG_ON(sig == -1); |
| 1343 | 1344 | ||
| @@ -1402,7 +1403,7 @@ int do_notify_parent(struct task_struct *tsk, int sig) | |||
| 1402 | * is implementation-defined: we do (if you don't want | 1403 | * is implementation-defined: we do (if you don't want |
| 1403 | * it, just use SIG_IGN instead). | 1404 | * it, just use SIG_IGN instead). |
| 1404 | */ | 1405 | */ |
| 1405 | tsk->exit_signal = -1; | 1406 | ret = tsk->exit_signal = -1; |
| 1406 | if (psig->action[SIGCHLD-1].sa.sa_handler == SIG_IGN) | 1407 | if (psig->action[SIGCHLD-1].sa.sa_handler == SIG_IGN) |
| 1407 | sig = -1; | 1408 | sig = -1; |
| 1408 | } | 1409 | } |
| @@ -1411,7 +1412,7 @@ int do_notify_parent(struct task_struct *tsk, int sig) | |||
| 1411 | __wake_up_parent(tsk, tsk->parent); | 1412 | __wake_up_parent(tsk, tsk->parent); |
| 1412 | spin_unlock_irqrestore(&psig->siglock, flags); | 1413 | spin_unlock_irqrestore(&psig->siglock, flags); |
| 1413 | 1414 | ||
| 1414 | return sig; | 1415 | return ret; |
| 1415 | } | 1416 | } |
| 1416 | 1417 | ||
| 1417 | static void do_notify_parent_cldstop(struct task_struct *tsk, int why) | 1418 | static void do_notify_parent_cldstop(struct task_struct *tsk, int why) |
diff --git a/kernel/smp.c b/kernel/smp.c index 782e2b93e465..f362a8553777 100644 --- a/kernel/smp.c +++ b/kernel/smp.c | |||
| @@ -210,8 +210,10 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info, | |||
| 210 | { | 210 | { |
| 211 | struct call_single_data d; | 211 | struct call_single_data d; |
| 212 | unsigned long flags; | 212 | unsigned long flags; |
| 213 | /* prevent preemption and reschedule on another processor */ | 213 | /* prevent preemption and reschedule on another processor, |
| 214 | as well as CPU removal */ | ||
| 214 | int me = get_cpu(); | 215 | int me = get_cpu(); |
| 216 | int err = 0; | ||
| 215 | 217 | ||
| 216 | /* Can deadlock when called with interrupts disabled */ | 218 | /* Can deadlock when called with interrupts disabled */ |
| 217 | WARN_ON(irqs_disabled()); | 219 | WARN_ON(irqs_disabled()); |
| @@ -220,7 +222,7 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info, | |||
| 220 | local_irq_save(flags); | 222 | local_irq_save(flags); |
| 221 | func(info); | 223 | func(info); |
| 222 | local_irq_restore(flags); | 224 | local_irq_restore(flags); |
| 223 | } else { | 225 | } else if ((unsigned)cpu < NR_CPUS && cpu_online(cpu)) { |
| 224 | struct call_single_data *data = NULL; | 226 | struct call_single_data *data = NULL; |
| 225 | 227 | ||
| 226 | if (!wait) { | 228 | if (!wait) { |
| @@ -236,10 +238,12 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info, | |||
| 236 | data->func = func; | 238 | data->func = func; |
| 237 | data->info = info; | 239 | data->info = info; |
| 238 | generic_exec_single(cpu, data); | 240 | generic_exec_single(cpu, data); |
| 241 | } else { | ||
| 242 | err = -ENXIO; /* CPU not online */ | ||
| 239 | } | 243 | } |
| 240 | 244 | ||
| 241 | put_cpu(); | 245 | put_cpu(); |
| 242 | return 0; | 246 | return err; |
| 243 | } | 247 | } |
| 244 | EXPORT_SYMBOL(smp_call_function_single); | 248 | EXPORT_SYMBOL(smp_call_function_single); |
| 245 | 249 | ||
diff --git a/kernel/sys.c b/kernel/sys.c index 3dacb00a7f76..038a7bc0901d 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
| @@ -169,9 +169,9 @@ asmlinkage long sys_setpriority(int which, int who, int niceval) | |||
| 169 | pgrp = find_vpid(who); | 169 | pgrp = find_vpid(who); |
| 170 | else | 170 | else |
| 171 | pgrp = task_pgrp(current); | 171 | pgrp = task_pgrp(current); |
| 172 | do_each_pid_task(pgrp, PIDTYPE_PGID, p) { | 172 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { |
| 173 | error = set_one_prio(p, niceval, error); | 173 | error = set_one_prio(p, niceval, error); |
| 174 | } while_each_pid_task(pgrp, PIDTYPE_PGID, p); | 174 | } while_each_pid_thread(pgrp, PIDTYPE_PGID, p); |
| 175 | break; | 175 | break; |
| 176 | case PRIO_USER: | 176 | case PRIO_USER: |
| 177 | user = current->user; | 177 | user = current->user; |
| @@ -229,11 +229,11 @@ asmlinkage long sys_getpriority(int which, int who) | |||
| 229 | pgrp = find_vpid(who); | 229 | pgrp = find_vpid(who); |
| 230 | else | 230 | else |
| 231 | pgrp = task_pgrp(current); | 231 | pgrp = task_pgrp(current); |
| 232 | do_each_pid_task(pgrp, PIDTYPE_PGID, p) { | 232 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { |
| 233 | niceval = 20 - task_nice(p); | 233 | niceval = 20 - task_nice(p); |
| 234 | if (niceval > retval) | 234 | if (niceval > retval) |
| 235 | retval = niceval; | 235 | retval = niceval; |
| 236 | } while_each_pid_task(pgrp, PIDTYPE_PGID, p); | 236 | } while_each_pid_thread(pgrp, PIDTYPE_PGID, p); |
| 237 | break; | 237 | break; |
| 238 | case PRIO_USER: | 238 | case PRIO_USER: |
| 239 | user = current->user; | 239 | user = current->user; |
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index f5da526424a9..7a46bde78c66 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
| @@ -643,17 +643,21 @@ void tick_setup_sched_timer(void) | |||
| 643 | ts->nohz_mode = NOHZ_MODE_HIGHRES; | 643 | ts->nohz_mode = NOHZ_MODE_HIGHRES; |
| 644 | #endif | 644 | #endif |
| 645 | } | 645 | } |
| 646 | #endif /* HIGH_RES_TIMERS */ | ||
| 646 | 647 | ||
| 648 | #if defined CONFIG_NO_HZ || defined CONFIG_HIGH_RES_TIMERS | ||
| 647 | void tick_cancel_sched_timer(int cpu) | 649 | void tick_cancel_sched_timer(int cpu) |
| 648 | { | 650 | { |
| 649 | struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); | 651 | struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); |
| 650 | 652 | ||
| 653 | # ifdef CONFIG_HIGH_RES_TIMERS | ||
| 651 | if (ts->sched_timer.base) | 654 | if (ts->sched_timer.base) |
| 652 | hrtimer_cancel(&ts->sched_timer); | 655 | hrtimer_cancel(&ts->sched_timer); |
| 656 | # endif | ||
| 653 | 657 | ||
| 654 | ts->nohz_mode = NOHZ_MODE_INACTIVE; | 658 | ts->nohz_mode = NOHZ_MODE_INACTIVE; |
| 655 | } | 659 | } |
| 656 | #endif /* HIGH_RES_TIMERS */ | 660 | #endif |
| 657 | 661 | ||
| 658 | /** | 662 | /** |
| 659 | * Async notification about clocksource changes | 663 | * Async notification about clocksource changes |
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c index a9ab0596de44..532858fa5b88 100644 --- a/kernel/user_namespace.c +++ b/kernel/user_namespace.c | |||
| @@ -6,7 +6,6 @@ | |||
| 6 | */ | 6 | */ |
| 7 | 7 | ||
| 8 | #include <linux/module.h> | 8 | #include <linux/module.h> |
| 9 | #include <linux/version.h> | ||
| 10 | #include <linux/nsproxy.h> | 9 | #include <linux/nsproxy.h> |
| 11 | #include <linux/slab.h> | 10 | #include <linux/slab.h> |
| 12 | #include <linux/user_namespace.h> | 11 | #include <linux/user_namespace.h> |
diff --git a/kernel/utsname.c b/kernel/utsname.c index 64d398f12444..815237a55af8 100644 --- a/kernel/utsname.c +++ b/kernel/utsname.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
| 13 | #include <linux/uts.h> | 13 | #include <linux/uts.h> |
| 14 | #include <linux/utsname.h> | 14 | #include <linux/utsname.h> |
| 15 | #include <linux/version.h> | ||
| 16 | #include <linux/err.h> | 15 | #include <linux/err.h> |
| 17 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
| 18 | 17 | ||
diff --git a/kernel/utsname_sysctl.c b/kernel/utsname_sysctl.c index fe3a56c2256d..4ab9659d269e 100644 --- a/kernel/utsname_sysctl.c +++ b/kernel/utsname_sysctl.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
| 13 | #include <linux/uts.h> | 13 | #include <linux/uts.h> |
| 14 | #include <linux/utsname.h> | 14 | #include <linux/utsname.h> |
| 15 | #include <linux/version.h> | ||
| 16 | #include <linux/sysctl.h> | 15 | #include <linux/sysctl.h> |
| 17 | 16 | ||
| 18 | static void *get_uts(ctl_table *table, int write) | 17 | static void *get_uts(ctl_table *table, int write) |
