diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-31 23:41:53 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-31 23:41:53 -0400 |
| commit | d6dd9e93c7531fa31370e27d053a3940d8d662fb (patch) | |
| tree | afab573031b3f0b9bbe5e417a890f7cae09a7224 /arch/mips/kernel/mips-mt-fpaff.c | |
| parent | dd9cd6d4351076c78bb8c0f9146d1904b481fdbb (diff) | |
| parent | b4b2917cc8babe8eaf4bc133bca31b11ed7dac13 (diff) | |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (50 commits)
[MIPS] Add smp_call_function_single()
[MIPS] thread_info.h: kmalloc + memset conversion to kzalloc
[MIPS] Kexec: Fix several 64-bit bugs.
[MIPS] Kexec: Fix several warnings.
[MIPS] DDB5477: Remove support
[MIPS] Fulong: Remove unneeded header file
[MIPS] Cobalt: Enable UART on RaQ1
[MIPS] Remove unused GROUP_TOSHIBA_NAMES
[MIPS] remove some duplicate includes
[MIPS] Oprofile: Fix rm9000 performance counter handler
[MIPS] Use -Werror on subdirectories which build cleanly.
[MIPS] Yosemite: Fix warning.
[MIPS] PMON: Fix cpustart declaration.
[MIPS] Yosemite: Only build ll_ht_smp_irq_handler() if HYPERTRANSPORT.
[MIPS] Yosemite: Fix build error due to undeclared titan_mailbox_irq().
[MIPS] Yosemite: Don't declare titan_mailbox_irq() as asmlinkage.
[MIPS] Yosemite: Fix warnings in i2c-yoesmite by deleting the unused code.
[MIPS] Delete unused arch/mips/gt64120/common/
[MIPS] Fix build warning in unaligned load/store emulator.
[MIPS] IP32: Don't ignore request_irq's return value.
...
Diffstat (limited to 'arch/mips/kernel/mips-mt-fpaff.c')
| -rw-r--r-- | arch/mips/kernel/mips-mt-fpaff.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/mips/kernel/mips-mt-fpaff.c b/arch/mips/kernel/mips-mt-fpaff.c index ede5d73d652e..892665bb12b1 100644 --- a/arch/mips/kernel/mips-mt-fpaff.c +++ b/arch/mips/kernel/mips-mt-fpaff.c | |||
| @@ -50,6 +50,7 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len, | |||
| 50 | cpumask_t effective_mask; | 50 | cpumask_t effective_mask; |
| 51 | int retval; | 51 | int retval; |
| 52 | struct task_struct *p; | 52 | struct task_struct *p; |
| 53 | struct thread_info *ti; | ||
| 53 | 54 | ||
| 54 | if (len < sizeof(new_mask)) | 55 | if (len < sizeof(new_mask)) |
| 55 | return -EINVAL; | 56 | return -EINVAL; |
| @@ -93,16 +94,16 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len, | |||
| 93 | read_unlock(&tasklist_lock); | 94 | read_unlock(&tasklist_lock); |
| 94 | 95 | ||
| 95 | /* Compute new global allowed CPU set if necessary */ | 96 | /* Compute new global allowed CPU set if necessary */ |
| 96 | if ((p->thread.mflags & MF_FPUBOUND) | 97 | ti = task_thread_info(p); |
| 97 | && cpus_intersects(new_mask, mt_fpu_cpumask)) { | 98 | if (test_ti_thread_flag(ti, TIF_FPUBOUND) && |
| 99 | cpus_intersects(new_mask, mt_fpu_cpumask)) { | ||
| 98 | cpus_and(effective_mask, new_mask, mt_fpu_cpumask); | 100 | cpus_and(effective_mask, new_mask, mt_fpu_cpumask); |
| 99 | retval = set_cpus_allowed(p, effective_mask); | 101 | retval = set_cpus_allowed(p, effective_mask); |
| 100 | } else { | 102 | } else { |
| 101 | p->thread.mflags &= ~MF_FPUBOUND; | 103 | clear_ti_thread_flag(ti, TIF_FPUBOUND); |
| 102 | retval = set_cpus_allowed(p, new_mask); | 104 | retval = set_cpus_allowed(p, new_mask); |
| 103 | } | 105 | } |
| 104 | 106 | ||
| 105 | |||
| 106 | out_unlock: | 107 | out_unlock: |
| 107 | put_task_struct(p); | 108 | put_task_struct(p); |
| 108 | unlock_cpu_hotplug(); | 109 | unlock_cpu_hotplug(); |
