[parisc-linux] Problem with atomicity of TIF for parisc ?
Helge Deller
deller at gmx.de
Fri Mar 9 12:07:32 MST 2007
While reading LKML I saw the patches by Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca> titled
"Fix atomicity of TIF update in flush_thread() for XXX"
e.g. http://permalink.gmane.org/gmane.linux.kernel/502597
Now I'm wondering if our thread-problems may be due the fact that we do not disable interrupts while testing the TIF_XX values in arch/parisc/kernel/entry.S, e.g.:
intr_return:
/* NOTE: Need to enable interrupts incase we schedule. */
ssm PSW_SM_I, %r0
<....>
intr_check_resched:
/* check for reschedule */
mfctl %cr30,%r1
LDREG TI_FLAGS(%r1),%r19 /* sched.h: TIF_NEED_RESCHED */
bb,<,n %r19,31-TIF_NEED_RESCHED,intr_do_resched /* forward */
Is the coding correct, or do we need to disable interrupts when checking TIF_NEED_RESCHED ?
(There are more TIF_XXX places in entry.S as well which might need checking then...)
Helge
More information about the parisc-linux
mailing list