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: [GSoC Project Proposal] ISO C11 threads.h implementation in GNU C Library


On Thu, 27 Feb 2014, Rich Felker wrote:

> I'm probably getting ahead of things here, but for what it's worth,
> one of the big questions that's been open so far is whether C11
> synchronization objects should just reuse the pthread objects and
> implementations, or have their own versions. Since C11 semantics are
> much weaker, there could be potential performance benefits to having
> separate implementations, and since C11 has fewer features, the
> objects themselves could possibly be significantly smaller (which has
> a major impact on the cost of including them in structures that exist
> in many instances). However I'm not sure whether these benefits
> outweigh the cost of having separate implementations. If your proposal
> is accepted, I think this is a major area you should research and
> present pros/cons on during the early stages.

I don't think separate implementations, with all the complications of 
associated architecture-dependencies and direct use of many tricky 
low-level glibc and Linux kernel interfaces, is something that is either 
reasonably maintainable, or reasonably implementable within the scope of a 
GSoC project.  In addition, C11 threads should interact in some reasonable 
way with POSIX interfaces in programs that use both - and while we don't 
have any POSIX C11 bindings to describe that interaction, it's more likely 
to be reasonable if the pthreads interfaces, for which those interactions 
have already been worked out, are used internally.

A more sensible question is what is the appropriate form of coordination 
in a GSoC context when two people (so far) are interested in the same 
project, as here 
<https://sourceware.org/ml/libc-alpha/2014-02/msg00690.html> 
<https://sourceware.org/ml/libc-alpha/2014-02/msg00781.html>.

-- 
Joseph S. Myers
joseph@codesourcery.com


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