1. A method of data processing in a processor core including a store-through upper level cache, an instruction execution unit, a load-reserve flag and a core reservation flag, the method comprising: responsive to the processor core executing a load-reserve instruction that binds to a load target address held in the store-through upper level cache: the processor core setting the core reservation flag to initiate a core reservation tracking interval; the processor core transmitting a load-reserve operation to a store-in lower level cache that records a reservation in the store-in lower level cache for the load target address and the processor core setting the load-reserve flag to indicate the load-reserve operation bound to a value in the upper level cache; the processor core tracking, during the core reservation tracking interval, the reservation requested by the load-reserve operation, wherein the core reservation tracking interval terminates in response to receipt from the store-in lower level cache of a message indicating that the store-in lower level cache has assumed responsibility for tracking the reservation; responsive to receipt during the core reservation tracking interval of an invalidation signal indicating presence of a conflicting snooped operation, reset the core reservation flag; responsive to the core reservation flag being reset during the core reservation tracking interval and the load-reserve flag being set to indicate that the load-reserve operation bound to a value in the upper level cache, the processor core failing a subsequent store-conditional operation by issuing the subsequent store-conditional operation to the store-in lower level cache with a fail flag; and responsive to the core reservation flag not being reset during the core reservation tracking interval, the processor core determining whether a subsequent store-conditional operation succeeds by reference to a pass/fail indication provided by the store-in lower level cache.