1__PPC_SET_PPR_MED(3)       LinuxProgrammer's Manual       __PPC_SET_PPR_MED(3)
2
3
4

NAME

6       __ppc_set_ppr_med,      __ppc_set_ppr_very_low,      __ppc_set_ppr_low,
7       __ppc_set_ppr_med_low, __ppc_set_ppr_med_high - Set the Program  Prior‐
8       ity Register
9

SYNOPSIS

11       #include <sys/platform/ppc.h>
12
13       void __ppc_set_ppr_med(void);
14       void __ppc_set_ppr_very_low(void);
15       void __ppc_set_ppr_low(void);
16       void __ppc_set_ppr_med_low(void);
17       void __ppc_set_ppr_med_high(void);
18

DESCRIPTION

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

VERSIONS

51       The    functions    __ppc_set_ppr_med(),    __ppc_set_ppr_low(),    and
52       __ppc_set_ppr_med_low() are provided by glibc since version 2.18.   The
53       functions  __ppc_set_ppr_very_low()  and __ppc_set_ppr_med_high() first
54       appeared in glibc in version 2.23.
55

ATTRIBUTES

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

CONFORMING TO

70       These functions are nonstandard GNU extensions.
71

NOTES

73       The  functions  __ppc_set_ppr_very_low()  and  __ppc_set_ppr_med_high()
74       will be defined  by  <sys/platform/ppc.h>  if  _ARCH_PWR8  is  defined.
75       Availability of these functions can be tested using #ifdef _ARCH_PWR8.
76

SEE ALSO

78       __ppc_yield(3)
79
80       Power ISA, Book II - Section 3.1 (Program Priority Registers)
81

COLOPHON

83       This  page  is  part of release 5.10 of the Linux man-pages project.  A
84       description of the project, information about reporting bugs,  and  the
85       latest     version     of     this    page,    can    be    found    at
86       https://www.kernel.org/doc/man-pages/.
87
88
89
90GNU C Library                     2020-12-21              __PPC_SET_PPR_MED(3)
Impressum