dcache BUG()

Paul Mielke paulm at routefree.com
Fri May 11 14:23:35 EST 2001


At 12:10 PM 5/10/01 -0700, Frank Rowand wrote:

>So if the lwarx occurs,
>
>then an interrupt alters the flow of execution,
>and the interrupt handler uses a stw to implement atomic_set(),
>
>then the interrupt handler returns to the original flow of execution,
>
>then the stwcx. succeeds, even though the value of the semaphore was
>altered by the atomic_set().

Frank,

I don't see how the above example can actually cause a failure.  Isn't it
a fundamental assumption that any change of process context must
clear the reservation bit?  If you don't do that, then none of this works.

So just before the RFI at step 4) of your example, the reservation bit
should be cleared and then the stwcx in the interrupted context fails
as one would expect.

Paul Mielke                        paulm at routefree.com
RouteFree, Inc.                   (650) 739-5377


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/






More information about the Linuxppc-embedded mailing list