1sched_rr_get_interval(2) System Calls Manual sched_rr_get_interval(2)
2
3
4
6 sched_rr_get_interval - get the SCHED_RR interval for the named process
7
9 Standard C library (libc, -lc)
10
12 #include <sched.h>
13
14 int sched_rr_get_interval(pid_t pid, struct timespec *tp);
15
17 sched_rr_get_interval() writes into the timespec(3) structure pointed
18 to by tp the round-robin time quantum for the process identified by
19 pid. The specified process should be running under the SCHED_RR sched‐
20 uling policy.
21
22 If pid is zero, the time quantum for the calling process is written
23 into *tp.
24
26 On success, sched_rr_get_interval() returns 0. On error, -1 is re‐
27 turned, and errno is set to indicate the error.
28
30 EFAULT Problem with copying information to user space.
31
32 EINVAL Invalid pid.
33
34 ENOSYS The system call is not yet implemented (only on rather old ker‐
35 nels).
36
37 ESRCH Could not find a process with the ID pid.
38
40 Linux
41 Linux 3.9 added a new mechanism for adjusting (and viewing) the
42 SCHED_RR quantum: the /proc/sys/kernel/sched_rr_timeslice_ms file ex‐
43 poses the quantum as a millisecond value, whose default is 100. Writ‐
44 ing 0 to this file resets the quantum to the default value.
45
47 POSIX.1-2008.
48
50 POSIX.1-2001.
51
52 Linux
53 POSIX does not specify any mechanism for controlling the size of the
54 round-robin time quantum. Older Linux kernels provide a (nonportable)
55 method of doing this. The quantum can be controlled by adjusting the
56 process's nice value (see setpriority(2)). Assigning a negative (i.e.,
57 high) nice value results in a longer quantum; assigning a positive
58 (i.e., low) nice value results in a shorter quantum. The default quan‐
59 tum is 0.1 seconds; the degree to which changing the nice value affects
60 the quantum has varied somewhat across kernel versions. This method of
61 adjusting the quantum was removed starting with Linux 2.6.24.
62
64 POSIX systems on which sched_rr_get_interval() is available define
65 _POSIX_PRIORITY_SCHEDULING in <unistd.h>.
66
68 timespec(3), sched(7)
69
70
71
72Linux man-pages 6.04 2023-03-30 sched_rr_get_interval(2)