On 03/03/2015 16:33, Mark Burton wrote: > >> 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’
That seems right... Can you post the patch? Paolo