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