Re: Problem with atomicity of TIF for parisc ?

"John David Anglin" <[email protected]>
Newsgroups gmane.linux.ports.hppa
Message-ID <[email protected]>
> Independend of the fact if irq-disabling is enough on SMP or not.
> The question still remains: May this be one of the reasons we see the hangs ?

Looking at a couple of other archs, it appears the reschedule check is done
with interrupts disabled.  For example,

        /* Either reschedule or signal or syscall exit tracking needed. */
	/* First do a reschedule test. */
	/* edx: work, edi: workmask */
int_careful:
	bt $TIF_NEED_RESCHED,%edx
	jnc  int_very_careful
	TRACE_IRQS_ON
	sti
	pushq %rdi
	CFI_ADJUST_CFA_OFFSET 8
	call schedule
	popq %rdi
	CFI_ADJUST_CFA_OFFSET -8
	cli
	TRACE_IRQS_OFF
	jmp int_with_check

However, since interrupts are enabled after the test, I have to think
that the test is just a first cut at determining whether to reschedule.
So, I suspect there isn't an issue with the code in entry.S.

The x86_64 problem concerned the clearing and setting of TIF flags
in an atomic manner.  I don't see a problem with this in arch/parisc/kernel.

Dave
-- 
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.