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: Fwd: local equivalent for pthread_once() in glibc?


On 06/26/2017 02:13 PM, Adhemerval Zanella wrote:
> 
> 
> On 25/06/2017 12:46, Florian Weimer wrote:
>> On 05/17/2017 04:51 PM, Adhemerval Zanella wrote:
>>> Right, but this is not seem the case for tunable where malloc_consolidate is
>>> called from ptmalloc_init (at least for main_arena).  In any case, I still
>>> think that for adequate __malloc_initialized access using C11 atomic since
>>> its access is still done concurrently (that why I asked if using __libc_once
>>> would be simpler).
>>
>> I don't understand.  The concurrent access solely consists of reads.  We
>> do not use atomics in that case.
> 
> My understanding and my point is even for these cases we should aim for 
> C11 atomic accesses, even for relaxed loads which on most architectures
> will map to normal loads.

I don't think this is true.  If the last write happen before all the
concurrent read accesses, we don't need atomics.  To me, this is quite
clear because this is what happens with locks, where we usually don't
use atomics within the critical section, either.

Thanks,
Florian


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