(resend) [PATCH 3/4] blackfin: don't touch task->cpus_allowed directly

From: KOSAKI Motohiro
Date: Mon Apr 25 2011 - 21:56:51 EST


Every callter (except kthread_bind) should use proper
set_cpus_allowed_ptr() APIs.

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
Cc: Mike Frysinger <vapier@xxxxxxxxxx>
Cc: uclinux-dist-devel@xxxxxxxxxxxxxxxxxxxx
---

I'm curious why this mysterious code is necessary. Why sys_clone()
restrict allowed cpus automatically and why don't it restore the restriction
when do_fork() is finished.

ps: I sent this parch to wrong address (device-driver-devel@xxxxxxxxxxxxxxxxxxxx).
thus now I'm resending it.


arch/blackfin/kernel/process.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
index b407bc8..6a660fa 100644
--- a/arch/blackfin/kernel/process.c
+++ b/arch/blackfin/kernel/process.c
@@ -171,10 +171,8 @@ asmlinkage int bfin_clone(struct pt_regs *regs)
unsigned long newsp;

#ifdef __ARCH_SYNC_CORE_DCACHE
- if (current->rt.nr_cpus_allowed == num_possible_cpus()) {
- current->cpus_allowed = cpumask_of_cpu(smp_processor_id());
- current->rt.nr_cpus_allowed = 1;
- }
+ if (current->rt.nr_cpus_allowed == num_possible_cpus())
+ set_cpus_allowed_ptr(current, cpumask_of(smp_processor_id()));
#endif

/* syscall2 puts clone_flags in r0 and usp in r1 */
--
1.7.3.1





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/