Re: Problem with atomicity of TIF for parisc ?
"John David Anglin" <[email protected]>
| Newsgroups | gmane.linux.ports.hppa |
|---|---|
| Message-ID | <[email protected]> |
> 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.: Do you have a testcase? I'm still seeing the occasional thread test fail in the GCC testsuite fail. These are usually timeouts. I'm not seeing hung processes leading to a kernel crash anymore ;) I also see output from a test truncated occasionally when a test generates a lot of output. > 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 ? The bb test clearly isn't atomic... Is disabling interrupts sufficient on a SMP system? Dave -- J. David Anglin [email protected] National Research Council of Canada (613) 990-0752 (FAX: 952-6602)