summaryrefslogtreecommitdiff
path: root/src/sched
AgeCommit message (Collapse)AuthorFilesLines
2019-07-29sched_rr_get_interval: don't assume time_t is 32-bit on 32-bit archsRich Felker1-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.
2018-09-12move and deduplicate declarations of __vdsosym to make it checkableRich Felker1-2/+0
2016-03-02add sched_getcpu vDSO supportNathan Zadoks1-0/+31
This brings the call to an actually usable speed. Quick unscientific benchmark: 14ns : 102ns :: vDSO : syscall
2016-03-02add sched_getcpuNathan Zadoks1-0/+13
This is a GNU extension, but a fairly minor one, for a system call that otherwise has no libc wrapper.
2014-12-02fix return value of pthread_getaffinity_np and pthread_setaffinity_npRich Felker1-8/+11
these functions are expected to return an error code rather than setting errno and returning -1.
2014-12-02fix uninitialized output from sched_getaffinityRich Felker1-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.
2014-05-04remove useless __yield alias for sched_yieldRich Felker1-4/+1
this is no longer used for anything, and reportedly clashed with a builtin on certain compilers.
2013-08-10add pthread_setaffinity_np and pthread_getaffinity_np functionsRich Felker3-18/+26
2013-08-10add cpu affinity interfacesRich Felker3-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.
2012-11-11add support for thread scheduling (POSIX TPS option)Rich Felker6-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.
2012-05-03avoid setting nondefault scheduler tooRich Felker1-1/+1
2012-05-03implement stub versions of sched_*Rich Felker7-0/+59
these actually work, but for now they prohibit actually setting priority levels and report min/max priority as 0.