Consensus: data-race freedom as default for glibc code

Florian Weimer fweimer@redhat.com
Mon Nov 24 16:23:00 GMT 2014


On 11/24/2014 04:45 PM, Torvald Riegel wrote:
> On Mon, 2014-11-24 at 16:25 +0100, Florian Weimer wrote:
>> On 11/24/2014 04:23 PM, Torvald Riegel wrote:
>>>>    >   * Parallel algorithms implemented in glibc itself will be free from
>>>>    >     data races (as defined by C11 and its memory model) by default.
>>>
>>> I changed it to:
>>> * Concurrent code in glibc is free from data races (as defined by C11
>>> and its memory model) by default.
>>
>> Fine with me as well (although I think technically, this is about
>> parallelism, not concurrency :-).
>
> And I disagree, that's why I changed it :)
>
> We don't parallelize anything in glibc.

Ugh, we parallelize the execution of threads (unlike the old FSU threads 
implementation).

> How would you define both categories?

Concurrency is non-deterministic execution of (sequential) subprograms 
in response to external events.  Parallelism is the simultaneous, 
interleaved execution of subprograms.  Or something like that—basically, 
you can only have high-level race conditions in a concurrent 
application, for low-level things (covered by the C11 memory model), you 
need parallelism.

But I suspect this particular sub-discussion will never have a fruitful 
outcome.

-- 
Florian Weimer / Red Hat Product Security



More information about the Libc-alpha mailing list