about summary refs log tree commit diff
path: root/src/sched
Commit message (Collapse)AuthorAgeFilesLines
* sched_rr_get_interval: don't assume time_t is 32-bit on 32-bit archsRich Felker2019-07-291-0/+14
| | | | | | | | | | as with clock_getres, the time64 syscall for this is not necessary or useful, this time since scheduling timeslices are not on the order 68 years. if there's a 32-bit syscall, use it and expand the result into timespec; otherwise there is only one syscall and it does the right thing to store to timespec directly. on 64-bit archs, there is no change to the code after preprocessing.
* move and deduplicate declarations of __vdsosym to make it checkableRich Felker2018-09-121-2/+0
|
* add sched_getcpu vDSO supportNathan Zadoks2016-03-021-0/+31
| | | | | This brings the call to an actually usable speed. Quick unscientific benchmark: 14ns : 102ns :: vDSO : syscall
* add sched_getcpuNathan Zadoks2016-03-021-0/+13
| | | | | This is a GNU extension, but a fairly minor one, for a system call that otherwise has no libc wrapper.
* fix return value of pthread_getaffinity_np and pthread_setaffinity_npRich Felker2014-12-021-8/+11
| | | | | these functions are expected to return an error code rather than setting errno and returning -1.
* fix uninitialized output from sched_getaffinityRich Felker2014-12-021-1/+5
| | | | | | | the sched_getaffinity syscall only fills a cpu set up to the set size used/supported by the kernel. the rest is left untouched and userspace is responsible for zero-filling it based on the return value of the syscall.
* remove useless __yield alias for sched_yieldRich Felker2014-05-041-4/+1
| | | | | this is no longer used for anything, and reportedly clashed with a builtin on certain compilers.
* add pthread_setaffinity_np and pthread_getaffinity_np functionsRich Felker2013-08-103-18/+26
|
* add cpu affinity interfacesRich Felker2013-08-103-0/+29
| | | | | | | this first commit just includes the CPU_* and sched_* interfaces, not the pthread_* interfaces, which may be added later. simple sanity-check testing has been done for the basic interfaces, but most of the macros have not yet been tested.
* add support for thread scheduling (POSIX TPS option)Rich Felker2012-11-116-9/+11
| | | | | | | | | | linux's sched_* syscalls actually implement the TPS (thread scheduling) functionality, not the PS (process scheduling) functionality which the sched_* functions are supposed to have. omitting support for the PS option (and having the sched_* interfaces fail with ENOSYS rather than omitting them, since some broken software assumes they exist) seems to be the only conforming way to do this on linux.
* avoid setting nondefault scheduler tooRich Felker2012-05-031-1/+1
|
* implement stub versions of sched_*Rich Felker2012-05-037-0/+59
these actually work, but for now they prohibit actually setting priority levels and report min/max priority as 0.