1. A method comprising: identifying, by a processing device executing a scheduler of an operating system, a set of instructions to be executed as a transaction that is to access a section of memory; prior to executing the set of instructions as the transaction, facilitating a non-speculative access to a data cache coupled to the processing device, the data cache comprising a plurality of cache lines, each cache line comprising a lock to lock a respective portion of the memory; determining if the section of memory is available for the transaction in view of locks of the plurality of cache lines; and in response to a determination that the section of memory is not available, causing the non-speculative access to the data cache to be repeated.