]> git.ipfire.org Git - thirdparty/man-pages.git/blob - man3/__ppc_set_ppr_med.3
Many pages: Use correct letter case in page titles (TH)
[thirdparty/man-pages.git] / man3 / __ppc_set_ppr_med.3
1 .\" Copyright (c) 2015, 2016 IBM Corporation.
2 .\"
3 .\" SPDX-License-Identifier: Linux-man-pages-copyleft
4 .\"
5 .TH __ppc_set_ppr_med 3 (date) "Linux man-pages (unreleased)"
6 Programmer's Manual"
7 .SH NAME
8 __ppc_set_ppr_med, __ppc_set_ppr_very_low, __ppc_set_ppr_low,
9 __ppc_set_ppr_med_low, __ppc_set_ppr_med_high \-
10 Set the Program Priority Register
11 .SH LIBRARY
12 Standard C library
13 .RI ( libc ", " \-lc )
14 .SH SYNOPSIS
15 .nf
16 .B #include <sys/platform/ppc.h>
17 .PP
18 .B void __ppc_set_ppr_med(void);
19 .B void __ppc_set_ppr_very_low(void);
20 .B void __ppc_set_ppr_low(void);
21 .B void __ppc_set_ppr_med_low(void);
22 .B void __ppc_set_ppr_med_high(void);
23 .fi
24 .SH DESCRIPTION
25 These functions provide access to the
26 .I Program Priority Register
27 (PPR) on the Power architecture.
28 .PP
29 The PPR is a 64-bit register that controls the program's priority.
30 By adjusting the PPR value the programmer may improve system
31 throughput by causing system resources to be used more
32 efficiently, especially in contention situations.
33 The available unprivileged states are covered by the following functions:
34 .TP
35 .BR __ppc_set_ppr_med ()
36 sets the Program Priority Register value to
37 .I medium
38 (default).
39 .TP
40 .BR __ppc_set_ppr_very_low ()
41 sets the Program Priority Register value to
42 .IR "very low" .
43 .TP
44 .BR __ppc_set_ppr_low ()
45 sets the Program Priority Register value to
46 .IR low .
47 .TP
48 .BR __ppc_set_ppr_med_low ()
49 sets the Program Priority Register value to
50 .IR "medium low" .
51 .PP
52 The privileged state
53 .I medium high
54 may also be set during certain time intervals by problem-state (unprivileged)
55 programs, with the following function:
56 .TP
57 .BR __ppc_set_ppr_med_high ()
58 sets the Program Priority to
59 .IR "medium high" .
60 .PP
61 If the program priority is medium high when the time interval expires or if an
62 attempt is made to set the priority to medium high when it is not allowed, the
63 priority is set to medium.
64 .SH VERSIONS
65 The functions
66 .BR __ppc_set_ppr_med (),
67 .BR __ppc_set_ppr_low (),
68 and
69 .BR __ppc_set_ppr_med_low ()
70 are provided by glibc since version 2.18.
71 The functions
72 .BR __ppc_set_ppr_very_low ()
73 and
74 .BR __ppc_set_ppr_med_high ()
75 first appeared in glibc in version 2.23.
76 .SH ATTRIBUTES
77 For an explanation of the terms used in this section, see
78 .BR attributes (7).
79 .ad l
80 .nh
81 .TS
82 allbox;
83 lbx lb lb
84 l l l.
85 Interface Attribute Value
86 T{
87 .BR __ppc_set_ppr_med (),
88 .BR __ppc_set_ppr_very_low (),
89 .BR __ppc_set_ppr_low (),
90 .BR __ppc_set_ppr_med_low (),
91 .BR __ppc_set_ppr_med_high ()
92 T} Thread safety MT-Safe
93 .TE
94 .hy
95 .ad
96 .sp 1
97 .SH STANDARDS
98 These functions are nonstandard GNU extensions.
99 .SH NOTES
100 The functions
101 .BR __ppc_set_ppr_very_low ()
102 and
103 .BR __ppc_set_ppr_med_high ()
104 will be defined by
105 .I <sys/platform/ppc.h>
106 if
107 .B _ARCH_PWR8
108 is defined.
109 Availability of these functions can be tested using
110 .BR "#ifdef _ARCH_PWR8" .
111 .SH SEE ALSO
112 .BR __ppc_yield (3)
113 .PP
114 .I Power ISA, Book\~II - Section\ 3.1 (Program Priority Registers)