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