1__ppc_set_ppr_med(3)       Library Functions Manual       __ppc_set_ppr_med(3)
2
3
4
5Programmer's Manual"
6

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 - Set the Program  Prior‐
10       ity Register
11

LIBRARY

13       Standard C library (libc, -lc)
14

SYNOPSIS

16       #include <sys/platform/ppc.h>
17
18       void __ppc_set_ppr_med(void);
19       void __ppc_set_ppr_very_low(void);
20       void __ppc_set_ppr_low(void);
21       void __ppc_set_ppr_med_low(void);
22       void __ppc_set_ppr_med_high(void);
23

DESCRIPTION

25       These  functions  provide access to the Program Priority Register (PPR)
26       on the Power architecture.
27
28       The PPR is a 64-bit register that controls the program's priority.   By
29       adjusting the PPR value the programmer may improve system throughput by
30       causing system resources to be used  more  efficiently,  especially  in
31       contention  situations.   The available unprivileged states are covered
32       by the following functions:
33
34       __ppc_set_ppr_med()
35              sets the Program Priority Register value to medium (default).
36
37       __ppc_set_ppr_very_low()
38              sets the Program Priority Register value to very low.
39
40       __ppc_set_ppr_low()
41              sets the Program Priority Register value to low.
42
43       __ppc_set_ppr_med_low()
44              sets the Program Priority Register value to medium low.
45
46       The privileged state medium high may also be set  during  certain  time
47       intervals  by problem-state (unprivileged) programs, with the following
48       function:
49
50       __ppc_set_ppr_med_high()
51              sets the Program Priority to medium high.
52
53       If the program priority is medium high when the time  interval  expires
54       or  if an attempt is made to set the priority to medium high when it is
55       not allowed, the priority is set to medium.
56

ATTRIBUTES

58       For an  explanation  of  the  terms  used  in  this  section,  see  at‐
59       tributes(7).
60
61       ┌────────────────────────────────────────────┬───────────────┬─────────┐
62Interface                                   Attribute     Value   
63       ├────────────────────────────────────────────┼───────────────┼─────────┤
64__ppc_set_ppr_med(),                        │ Thread safety │ MT-Safe │
65__ppc_set_ppr_very_low(),                   │               │         │
66__ppc_set_ppr_low(),                        │               │         │
67__ppc_set_ppr_med_low(),                    │               │         │
68__ppc_set_ppr_med_high()                    │               │         │
69       └────────────────────────────────────────────┴───────────────┴─────────┘
70

STANDARDS

72       GNU.
73

HISTORY

75       __ppc_set_ppr_med()
76       __ppc_set_ppr_low()
77       __ppc_set_ppr_med_low()
78              glibc 2.18.
79
80       __ppc_set_ppr_very_low()
81       __ppc_set_ppr_med_high()
82              glibc 2.23.
83

NOTES

85       The  functions  __ppc_set_ppr_very_low()  and  __ppc_set_ppr_med_high()
86       will be defined  by  <sys/platform/ppc.h>  if  _ARCH_PWR8  is  defined.
87       Availability of these functions can be tested using #ifdef _ARCH_PWR8.
88

SEE ALSO

90       __ppc_yield(3)
91
92       Power ISA, Book II - Section 3.1 (Program Priority Registers)
93
94
95
96Linux man-pages 6.04              2023-03-30              __ppc_set_ppr_med(3)
Impressum