share/mk/: build-html: Don't build mbind.2 and set_mempolicy.2
[man-pages.git] / man3 / __ppc_set_ppr_med.3
blob317804438217989f2b9df59779d9ac338500273d
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>
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.
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" .
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" .
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 ATTRIBUTES
66 For an explanation of the terms used in this section, see
67 .BR attributes (7).
68 .TS
69 allbox;
70 lbx lb lb
71 l l l.
72 Interface       Attribute       Value
74 .na
75 .nh
76 .BR __ppc_set_ppr_med (),
77 .BR __ppc_set_ppr_very_low (),
78 .BR __ppc_set_ppr_low (),
79 .BR __ppc_set_ppr_med_low (),
80 .BR __ppc_set_ppr_med_high ()
81 T}      Thread safety   MT-Safe
82 .TE
83 .SH STANDARDS
84 GNU.
85 .SH HISTORY
86 .TP
87 .BR __ppc_set_ppr_med ()
88 .TQ
89 .BR __ppc_set_ppr_low ()
90 .TQ
91 .BR __ppc_set_ppr_med_low ()
92 glibc 2.18.
93 .TP
94 .BR __ppc_set_ppr_very_low ()
95 .TQ
96 .BR __ppc_set_ppr_med_high ()
97 glibc 2.23.
98 .SH NOTES
99 The functions
100 .BR __ppc_set_ppr_very_low ()
102 .BR __ppc_set_ppr_med_high ()
103 will be defined by
104 .I <sys/platform/ppc.h>
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)
113 .I Power ISA, Book\~II - Section\ 3.1 (Program Priority Registers)