diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-08-24 01:02:24 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-24 01:02:24 -0400 |
| commit | 343b0597297c3190647854881c087c01faf40a6f (patch) | |
| tree | 81cf818936bfd4aff891d1ca4d4ea4d47b2d1631 /kernel | |
| parent | b2dabd5aadae6a93026f35269e1e53c1a0c6de2d (diff) | |
| parent | b2382b363df828f25e35ed8b70a3da33b29b2a64 (diff) | |
/spare/repo/netdev-2.6 branch 'ieee80211'
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/cpuset.c | 17 | ||||
| -rw-r--r-- | kernel/sched.c | 4 | ||||
| -rw-r--r-- | kernel/signal.c | 2 | ||||
| -rw-r--r-- | kernel/timer.c | 2 |
4 files changed, 21 insertions, 4 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 21a4e3b2cbda..e0d296c5b302 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
| @@ -636,6 +636,23 @@ static void update_cpu_domains(struct cpuset *cur) | |||
| 636 | return; | 636 | return; |
| 637 | 637 | ||
| 638 | /* | 638 | /* |
| 639 | * Hack to avoid 2.6.13 partial node dynamic sched domain bug. | ||
| 640 | * Require the 'cpu_exclusive' cpuset to include all (or none) | ||
| 641 | * of the CPUs on each node, or return w/o changing sched domains. | ||
| 642 | * Remove this hack when dynamic sched domains fixed. | ||
| 643 | */ | ||
| 644 | { | ||
| 645 | int i, j; | ||
| 646 | |||
| 647 | for_each_cpu_mask(i, cur->cpus_allowed) { | ||
| 648 | for_each_cpu_mask(j, node_to_cpumask(cpu_to_node(i))) { | ||
| 649 | if (!cpu_isset(j, cur->cpus_allowed)) | ||
| 650 | return; | ||
| 651 | } | ||
| 652 | } | ||
| 653 | } | ||
| 654 | |||
| 655 | /* | ||
| 639 | * Get all cpus from parent's cpus_allowed not part of exclusive | 656 | * Get all cpus from parent's cpus_allowed not part of exclusive |
| 640 | * children | 657 | * children |
| 641 | */ | 658 | */ |
diff --git a/kernel/sched.c b/kernel/sched.c index a646e4f36c41..5f889d0cbfcc 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -3378,8 +3378,8 @@ EXPORT_SYMBOL(set_user_nice); | |||
| 3378 | */ | 3378 | */ |
| 3379 | int can_nice(const task_t *p, const int nice) | 3379 | int can_nice(const task_t *p, const int nice) |
| 3380 | { | 3380 | { |
| 3381 | /* convert nice value [19,-20] to rlimit style value [0,39] */ | 3381 | /* convert nice value [19,-20] to rlimit style value [1,40] */ |
| 3382 | int nice_rlim = 19 - nice; | 3382 | int nice_rlim = 20 - nice; |
| 3383 | return (nice_rlim <= p->signal->rlim[RLIMIT_NICE].rlim_cur || | 3383 | return (nice_rlim <= p->signal->rlim[RLIMIT_NICE].rlim_cur || |
| 3384 | capable(CAP_SYS_NICE)); | 3384 | capable(CAP_SYS_NICE)); |
| 3385 | } | 3385 | } |
diff --git a/kernel/signal.c b/kernel/signal.c index ca1186eef938..d282fea81138 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
| @@ -692,7 +692,7 @@ static void handle_stop_signal(int sig, struct task_struct *p) | |||
| 692 | { | 692 | { |
| 693 | struct task_struct *t; | 693 | struct task_struct *t; |
| 694 | 694 | ||
| 695 | if (p->flags & SIGNAL_GROUP_EXIT) | 695 | if (p->signal->flags & SIGNAL_GROUP_EXIT) |
| 696 | /* | 696 | /* |
| 697 | * The process is in the middle of dying already. | 697 | * The process is in the middle of dying already. |
| 698 | */ | 698 | */ |
diff --git a/kernel/timer.c b/kernel/timer.c index f2a11887a726..5377f40723ff 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
| @@ -1023,7 +1023,7 @@ asmlinkage long sys_getppid(void) | |||
| 1023 | parent = me->group_leader->real_parent; | 1023 | parent = me->group_leader->real_parent; |
| 1024 | for (;;) { | 1024 | for (;;) { |
| 1025 | pid = parent->tgid; | 1025 | pid = parent->tgid; |
| 1026 | #ifdef CONFIG_SMP | 1026 | #if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT) |
| 1027 | { | 1027 | { |
| 1028 | struct task_struct *old = parent; | 1028 | struct task_struct *old = parent; |
| 1029 | 1029 | ||
