This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Synchronizing auxiliary mutex data


On Jun 20 2017, Torvald Riegel <triegel@redhat.com> wrote:

> On Tue, 2017-06-20 at 15:40 +0200, Andreas Schwab wrote:
>> On Jun 20 2017, Torvald Riegel <triegel@redhat.com> wrote:
>> 
>> > I described exactly that above.  It is guaranteed for the code above by
>> > the memory model.  Implementations of the memory model (so in our case,
>> > the compiler and the HW) have to ensure that.  For example, in the x86
>> > memory model, acquire and release MO are implicit, so because the
>> > compiler is not allowed to reorder in this case, the HW ensures that
>> > lock()'s write to owner happens after unlock's write to owner.
>> 
>> What about the read in the locking thread?
>
> I have answered that in my previous emails.

What does prevent the cpu from loading it from its cache?

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]