Using __kuser_cmpxchg
Paul Brook
paul@codesourcery.com
Fri Nov 16 13:55:00 GMT 2007
> > > On a pre-ARMv6 processor
> >
> > Similar "spurious" failures can happen on ARMv6 processors.
> >
> > ARMv6 cpus don't have atomic operations either. They have ldrex/strex,
> > where the latter will fail if another CPU modifies the memory *or* a
> > context switch occurs.
>> Due to the current implementation this is indeed true.
>> ARMv6 is more trivial to fix though, since the operation can be
> reattempted whenever the strex fails.
I'm confused. Why is this any different to ARMv5? AFAICS the two kuser_cmpxchg
implementations are functionally equivalent.
Paul
More information about the Java
mailing list