summaryrefslogtreecommitdiffstats
path: root/man3/__ppc_set_ppr_med.3
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:40:15 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:40:15 +0000
commit399644e47874bff147afb19c89228901ac39340e (patch)
tree1c4c0b733f4c16b5783b41bebb19194a9ef62ad1 /man3/__ppc_set_ppr_med.3
parentInitial commit. (diff)
downloadmanpages-399644e47874bff147afb19c89228901ac39340e.tar.xz
manpages-399644e47874bff147afb19c89228901ac39340e.zip
Adding upstream version 6.05.01.upstream/6.05.01
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man3/__ppc_set_ppr_med.3')
-rw-r--r--man3/__ppc_set_ppr_med.3114
1 files changed, 114 insertions, 0 deletions
diff --git a/man3/__ppc_set_ppr_med.3 b/man3/__ppc_set_ppr_med.3
new file mode 100644
index 0000000..b3effad
--- /dev/null
+++ b/man3/__ppc_set_ppr_med.3
@@ -0,0 +1,114 @@
+'\" t
+.\" Copyright (c) 2015, 2016 IBM Corporation.
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH __ppc_set_ppr_med 3 2023-07-20 "Linux man-pages 6.05.01"
+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>
+.PP
+.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.
+.PP
+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" .
+.PP
+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" .
+.PP
+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
+.sp 1
+.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)
+.PP
+.I Power ISA, Book\~II - Section\ 3.1 (Program Priority Registers)