Mesa Looks To Take Use Of C11 Threading

Written by Michael Larabel in Mesa on 15 March 2013 at 11:26 AM EDT. 25 Comments
MESA
Jose Fonseca is seeking comment from Mesa developers about possibly taking advantage of C language thread primitives that were introduced in the new C11 standard.

Fonseca wrote yesterday, "Mesa source tree currently has 4 abstraction of threading primitives (in gallium, glapi, mapi, and egl components). I'd like to unify all them, and since now the C11 standard introduced a threads.h header, I'd like to use that as model."

The threads header file with C11 sets the semantics for multi-threading and provides lightweight inter-thread communication via atomic variables.

He's already done an early Mesa C11 threads implementation within c11-threads. He went on to say, "If there are no objections, the next step would be to eliminate all threading abstractions and just use C11 threads.h primitives...A nice side-benefit of this is that the pre-vista Win32 conditional var implement should be much better than what we have now, which should speed up multithreaded llvmpipe on windows substantially. The same principle could be applied to atomic operations."

So far the limited development feedback on the C11 threads proposal for Mesa is in support of this change.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week