summaryrefslogtreecommitdiffstats
path: root/man/man3/__ppc_set_ppr_med.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/__ppc_set_ppr_med.3')
-rw-r--r--man/man3/__ppc_set_ppr_med.3113
1 files changed, 113 insertions, 0 deletions
diff --git a/man/man3/__ppc_set_ppr_med.3 b/man/man3/__ppc_set_ppr_med.3
new file mode 100644
index 000000000..317804438
--- /dev/null
+++ b/man/man3/__ppc_set_ppr_med.3
@@ -0,0 +1,113 @@
+'\" t
+.\" Copyright (c) 2015, 2016 IBM Corporation.
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH __ppc_set_ppr_med 3 (date) "Linux man-pages (unreleased)"
+Programmer's Manual"
+.SH NAME
+__ppc_set_ppr_med, __ppc_set_ppr_very_low, __ppc_set_ppr_low,
+__ppc_set_ppr_med_low, __ppc_set_ppr_med_high \-
+Set the Program Priority Register
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <sys/platform/ppc.h>
+.P
+.B void __ppc_set_ppr_med(void);
+.B void __ppc_set_ppr_very_low(void);
+.B void __ppc_set_ppr_low(void);
+.B void __ppc_set_ppr_med_low(void);
+.B void __ppc_set_ppr_med_high(void);
+.fi
+.SH DESCRIPTION
+These functions provide access to the
+.I Program Priority Register
+(PPR) on the Power architecture.
+.P
+The PPR is a 64-bit register that controls the program's priority.
+By adjusting the PPR value the programmer may improve system
+throughput by causing system resources to be used more
+efficiently, especially in contention situations.
+The available unprivileged states are covered by the following functions:
+.TP
+.BR __ppc_set_ppr_med ()
+sets the Program Priority Register value to
+.I medium
+(default).
+.TP
+.BR __ppc_set_ppr_very_low ()
+sets the Program Priority Register value to
+.IR "very low" .
+.TP
+.BR __ppc_set_ppr_low ()
+sets the Program Priority Register value to
+.IR low .
+.TP
+.BR __ppc_set_ppr_med_low ()
+sets the Program Priority Register value to
+.IR "medium low" .
+.P
+The privileged state
+.I medium high
+may also be set during certain time intervals by problem-state (unprivileged)
+programs, with the following function:
+.TP
+.BR __ppc_set_ppr_med_high ()
+sets the Program Priority to
+.IR "medium high" .
+.P
+If the program priority is medium high when the time interval expires or if an
+attempt is made to set the priority to medium high when it is not allowed, the
+priority is set to medium.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR __ppc_set_ppr_med (),
+.BR __ppc_set_ppr_very_low (),
+.BR __ppc_set_ppr_low (),
+.BR __ppc_set_ppr_med_low (),
+.BR __ppc_set_ppr_med_high ()
+T} Thread safety MT-Safe
+.TE
+.SH STANDARDS
+GNU.
+.SH HISTORY
+.TP
+.BR __ppc_set_ppr_med ()
+.TQ
+.BR __ppc_set_ppr_low ()
+.TQ
+.BR __ppc_set_ppr_med_low ()
+glibc 2.18.
+.TP
+.BR __ppc_set_ppr_very_low ()
+.TQ
+.BR __ppc_set_ppr_med_high ()
+glibc 2.23.
+.SH NOTES
+The functions
+.BR __ppc_set_ppr_very_low ()
+and
+.BR __ppc_set_ppr_med_high ()
+will be defined by
+.I <sys/platform/ppc.h>
+if
+.B _ARCH_PWR8
+is defined.
+Availability of these functions can be tested using
+.BR "#ifdef _ARCH_PWR8" .
+.SH SEE ALSO
+.BR __ppc_yield (3)
+.P
+.I Power ISA, Book\~II - Section\ 3.1 (Program Priority Registers)