2 .\" Copyright (c) 2015, 2016 IBM Corporation.
4 .\" SPDX-License-Identifier: Linux-man-pages-copyleft
6 .TH __ppc_set_ppr_med 3 (date) "Linux man-pages (unreleased)"
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
14 .RI ( libc ", " \-lc )
17 .B #include <sys/platform/ppc.h>
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);
26 These functions provide access to the
27 .I Program Priority Register
28 (PPR) on the Power architecture.
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:
36 .BR __ppc_set_ppr_med ()
37 sets the Program Priority Register value to
41 .BR __ppc_set_ppr_very_low ()
42 sets the Program Priority Register value to
45 .BR __ppc_set_ppr_low ()
46 sets the Program Priority Register value to
49 .BR __ppc_set_ppr_med_low ()
50 sets the Program Priority Register value to
55 may also be set during certain time intervals by problem-state (unprivileged)
56 programs, with the following function:
58 .BR __ppc_set_ppr_med_high ()
59 sets the Program Priority to
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.
67 .BR __ppc_set_ppr_med (),
68 .BR __ppc_set_ppr_low (),
70 .BR __ppc_set_ppr_med_low ()
71 are provided since glibc 2.18.
73 .BR __ppc_set_ppr_very_low ()
75 .BR __ppc_set_ppr_med_high ()
76 first appeared in glibc 2.23.
78 For an explanation of the terms used in this section, see
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
99 These functions are nonstandard GNU extensions.
102 .BR __ppc_set_ppr_very_low ()
104 .BR __ppc_set_ppr_med_high ()
106 .I <sys/platform/ppc.h>
110 Availability of these functions can be tested using
111 .BR "#ifdef _ARCH_PWR8" .
115 .I Power ISA, Book\~II - Section\ 3.1 (Program Priority Registers)