summaryrefslogtreecommitdiff
path: root/src/sched
AgeCommit message (Collapse)AuthorLines
2016-03-02add sched_getcpu vDSO supportNathan Zadoks-0/+31
This brings the call to an actually usable speed. Quick unscientific benchmark: 14ns : 102ns :: vDSO : syscall
2016-03-02add sched_getcpuNathan Zadoks-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 Felker-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 Felker-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 Felker-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 Felker-18/+26
2013-08-10add cpu affinity interfacesRich Felker-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 Felker-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 Felker-1/+1
2012-05-03implement stub versions of sched_*Rich Felker-0/+59
these actually work, but for now they prohibit actually setting priority levels and report min/max priority as 0.