Mesa Looks To Take Use Of C11 Threading

Posted by Michael Larabel on March 15, 2013

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  2. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  3. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
  4. AMD Radeon Gallium3D More Competitive With Catalyst On Linux
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  2. Linux's "Ondemand" Governor Is No Longer Fit
  3. Firefox 22 Beta Enables WebRTC Support
  4. OpenSUSE 13.1 Milestone 1 Released
  5. DRM Graphics Driver Comes For Dove/Cubox
  6. JADE: An LLVM-Based Video Decoder For MPEG RVC
  7. Ubuntu 13.10 Likely Switching To Chromium Browser
  8. Unity 7, Compiz To Be Polished For Ubuntu 13.10
  9. Unity 8, Mir To Be Experimental Choice In Ubuntu 13.10
  10. Linux Mint 15 "Olivia" Approaches With New Tools
  11. The Last GNOME 3.8 Point Release Has Been Made
Latest Forum Talk
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. Linux's "Ondemand" Governor Is No...
  3. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  4. Greater Radeon Gallium3D Shader Optimization Tests
  5. Ondemand governor dramatically slows down mesa...
  6. Features Being Developed For KDE 4.11 Desktop
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite