Lightweight locality-aware user-level threading runtime
built by guoguo
completed Thu, 29 Oct 2026 23:57:21 UTC
Description
The Qthreads API is designed to make using large numbers of threads convenient
and easy. The Qthreads API also provides access to full/empty-bit (FEB)
semantics, where every word of memory can be marked either full or empty, and a
thread can wait for any word to attain either state.
Qthreads is essentially a library for spawning and controlling stackful
coroutines: threads with small (4-8k) stacks. The exposed user API resembles
OS threads, however the threads are entirely in user-space and use their
locked/unlocked status as part of their scheduling.
The library's metaphor is that there are many Qthreads and several "shepherds".
Shepherds generally map to specific processors or memory regions, but this is
not an explicit part of the API. Qthreads are assigned to specific shepherds
and are only allowed to migrate when running on a scheduler that supports work
stealing or when migration is explicitly triggered via user APIs.
The API includes utility functions for making threaded loops, sorting, and
similar operations convenient.
RPMs
No RPMs
Changelog
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.22^20251007gitcedb1fc-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild * Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.22^20251007gitcedb1fc-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Fri Oct 10 2025 Benson Muite <fed500@fedoraproject.org> - 1.22^20251007gitcedb1fc-1 - Initial import bz #2401972