> On 3 Mar 2015, at 16:32, Paolo Bonzini <pbonz...@redhat.com> wrote: > > > > On 03/03/2015 16:29, Mark Burton wrote: >> >> ps. on our bug - we believe somehow the STREX is being marked as >> failed, but actually succeeds to write something. There are only 3 >> ways the strex can fail: 1/ the address doesn't match - in which case >> no ST will be attempted 2/ the value doesn't match - which means - no >> ST attempted 3/ the store starts, but causes a TLB fill/exception… >> >> The 3rd has 2 possibilities - the TLB is filled, and the store goes >> ahead totally normally - there should be no ‘fail’ - or an exception >> is generated in which case we will long jump away and never return. > > When do you release the lock? > (Thanks Paolo!)
We release the lock in either a) the end of the strex or b) in the ‘raise_exception’ Cheers Mark. > Paolo +44 (0)20 7100 3485 x 210 +33 (0)5 33 52 01 77x 210 +33 (0)603762104 mark.burton