sparc atomicity patches reverted

From: David Miller
Date: Sat Mar 10 2007 - 02:16:01 EST



The sparc64 one doesn't even compile, please fix this up and resubmit,
thank you. I'd like you to redo the 32-bit sparc patch too.

Please, I recommend that you use {sec,clear,etc.}_ti_thread_flag() in
this and the 32-bit sparc TI_USEDFPU patch, instead of the task
versions which could add an unnecessary pointer dereference to go from
tsk to the thread_info.

It is likely that had you used the thread based flag helpers from the
start, you would not have created this build failure.

Thanks again.

--------------------
arch/sparc64/kernel/process.c: In function $,1rx(Bflush_thread$,1ry(B:
arch/sparc64/kernel/process.c:416: error: $,1rx(Btsk$,1ry(B undeclared (first use in this function)
arch/sparc64/kernel/process.c:416: error: (Each undeclared identifier is reported only once
arch/sparc64/kernel/process.c:416: error: for each function it appears in.)
--------------------
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
index 7d75cd4..646ace4 100644
--- a/arch/sparc64/kernel/process.c
+++ b/arch/sparc64/kernel/process.c
@@ -413,8 +413,13 @@ void flush_thread(void)
struct thread_info *t = current_thread_info();
struct mm_struct *mm;

- if (t->flags & _TIF_ABI_PENDING)
- t->flags ^= (_TIF_ABI_PENDING | _TIF_32BIT);
+ if (test_tsk_thread_flag(tsk, TIF_ABI_PENDING)) {
+ clear_tsk_thread_flag(tsk, TIF_ABI_PENDING);
+ if (test_tsk_thread_flag(tsk, TIF_32BIT))
+ clear_tsk_thread_flag(tsk, TIF_32BIT);
+ else
+ set_tsk_thread_flag(tsk, TIF_32BIT);
+ }

mm = t->task->mm;
if (mm)
--
1.5.0

-
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/