OSDN Git Service

LDP: Update original to LDP v3.79
[linuxjm/LDP_man-pages.git] / original / man2 / sched_get_priority_max.2
1 .\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996
2 .\"
3 .\" %%%LICENSE_START(GPLv2+_DOC_FULL)
4 .\" This is free documentation; you can redistribute it and/or
5 .\" modify it under the terms of the GNU General Public License as
6 .\" published by the Free Software Foundation; either version 2 of
7 .\" the License, or (at your option) any later version.
8 .\"
9 .\" The GNU General Public License's references to "object code"
10 .\" and "executables" are to be interpreted as the output of any
11 .\" document formatting or typesetting system, including
12 .\" intermediate and printed output.
13 .\"
14 .\" This manual is distributed in the hope that it will be useful,
15 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 .\" GNU General Public License for more details.
18 .\"
19 .\" You should have received a copy of the GNU General Public
20 .\" License along with this manual; if not, see
21 .\" <http://www.gnu.org/licenses/>.
22 .\" %%%LICENSE_END
23 .\"
24 .\" 1996-04-01 Tom Bjorkholm <tomb@mydata.se>
25 .\"            First version written
26 .\" 1996-04-10 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
27 .\"            revision
28 .\"
29 .TH SCHED_GET_PRIORITY_MAX 2 2014-05-12 "Linux" "Linux Programmer's Manual"
30 .SH NAME
31 sched_get_priority_max, sched_get_priority_min  \- get static priority range
32 .SH SYNOPSIS
33 .B #include <sched.h>
34 .sp
35 .BI "int sched_get_priority_max(int " policy );
36 .sp
37 .BI "int sched_get_priority_min(int " policy );
38 .SH DESCRIPTION
39 .BR sched_get_priority_max ()
40 returns the maximum priority value that can be used with the
41 scheduling algorithm identified by
42 .IR policy .
43 .BR sched_get_priority_min ()
44 returns the minimum priority value that can be used with the
45 scheduling algorithm identified by
46 .IR policy .
47 Supported
48 .I policy
49 values are
50 .BR SCHED_FIFO ,
51 .BR SCHED_RR ,
52 .BR SCHED_OTHER ,
53 .BR SCHED_BATCH ,
54 .BR SCHED_IDLE ,
55 and
56 .BR SCHED_DEADLINE .
57 Further details about these policies can be found in
58 .BR sched (7).
59
60 Processes with numerically higher priority values are scheduled before
61 processes with numerically lower priority values.
62 Thus, the value
63 returned by
64 .BR sched_get_priority_max ()
65 will be greater than the
66 value returned by
67 .BR sched_get_priority_min ().
68
69 Linux allows the static priority range 1 to 99 for the
70 .B SCHED_FIFO
71 and
72 .B SCHED_RR
73 policies, and the priority 0 for the remaining policies.
74 Scheduling priority ranges for the various policies
75 are not alterable.
76
77 The range of scheduling priorities may vary on other POSIX systems,
78 thus it is a good idea for portable applications to use a virtual
79 priority range and map it to the interval given by
80 .BR sched_get_priority_max ()
81 and
82 .BR sched_get_priority_min ().
83 POSIX.1-2001 requires a spread of at least 32 between the maximum and the
84 minimum values for
85 .B SCHED_FIFO
86 and
87 .BR SCHED_RR .
88
89 POSIX systems on which
90 .BR sched_get_priority_max ()
91 and
92 .BR sched_get_priority_min ()
93 are available define
94 .B _POSIX_PRIORITY_SCHEDULING
95 in
96 .IR <unistd.h> .
97 .SH RETURN VALUE
98 On success,
99 .BR sched_get_priority_max ()
100 and
101 .BR sched_get_priority_min ()
102 return the maximum/minimum priority value for the named scheduling
103 policy.
104 On error, \-1 is returned, and
105 .I errno
106 is set appropriately.
107 .SH ERRORS
108 .TP
109 .B EINVAL
110 The argument
111 .I policy
112 does not identify a defined scheduling policy.
113 .SH CONFORMING TO
114 POSIX.1-2001.
115 .SH SEE ALSO
116 .ad l
117 .nh
118 .BR sched_getaffinity (2),
119 .BR sched_getparam (2),
120 .BR sched_getscheduler (2),
121 .BR sched_setaffinity (2),
122 .BR sched_setparam (2),
123 .BR sched_setscheduler (2),
124 .BR sched (7)
125 .SH COLOPHON
126 This page is part of release 3.79 of the Linux
127 .I man-pages
128 project.
129 A description of the project,
130 information about reporting bugs,
131 and the latest version of this page,
132 can be found at
133 \%http://www.kernel.org/doc/man\-pages/.