Changes: Ready for 5.13
[man-pages.git] / man3 / __ppc_yield.3
blob0897ded2e03b0b07f66af7f98943ea3528db9740
1 .\" Copyright (c) 2015, IBM Corporation.
2 .\"
3 .\" %%%LICENSE_START(VERBATIM)
4 .\" Permission is granted to make and distribute verbatim copies of this
5 .\" manual provided the copyright notice and this permission notice are
6 .\" preserved on all copies.
7 .\"
8 .\" Permission is granted to copy and distribute modified versions of
9 .\" this manual under the conditions for verbatim copying, provided that
10 .\" the entire resulting derived work is distributed under the terms of
11 .\" a permission notice identical to this one.
12 .\"
13 .\" Since the Linux kernel and libraries are constantly changing, this
14 .\" manual page may be incorrect or out-of-date.  The author(s) assume.
15 .\" no responsibility for errors or omissions, or for damages resulting.
16 .\" from the use of the information contained herein.  The author(s) may.
17 .\" not have taken the same level of care in the production of this.
18 .\" manual, which is licensed free of charge, as they might when working.
19 .\" professionally.
20 .\"
21 .\" Formatted or processed versions of this manual, if unaccompanied by
22 .\" the source, must acknowledge the copyright and authors of this work.
23 .\" %%%LICENSE_END
24 .\"
25 .TH __PPC_YIELD 3 2021-03-22 "GNU C Library" "Linux Programmer's\
26 Manual"
27 .SH NAME
28 __ppc_yield, __ppc_mdoio, __ppc_mdoom \-
29 Hint the processor to release shared resources
30 .SH SYNOPSIS
31 .nf
32 .B #include <sys/platform/ppc.h>
33 .PP
34 .B void __ppc_yield(void);
35 .B void __ppc_mdoio(void);
36 .B void __ppc_mdoom(void);
37 .fi
38 .SH DESCRIPTION
39 These functions
40 provide hints about the usage of resources that are shared with other
41 processors on the Power architecture.
42 They can be used, for example, if a program waiting on a lock intends
43 to divert the shared resources to be used by other processors.
44 .PP
45 .BR __ppc_yield ()
46 provides a hint that performance will probably be improved if shared
47 resources dedicated to the executing processor are released for use by
48 other processors.
49 .PP
50 .BR __ppc_mdoio ()
51 provides a hint that performance will probably be improved if shared
52 resources dedicated to the executing processor are released until all
53 outstanding storage accesses to caching-inhibited storage have been
54 completed.
55 .PP
56 .BR __ppc_mdoom ()
57 provides a hint that performance will probably be improved if shared
58 resources dedicated to the executing processor are released until all
59 outstanding storage accesses to cacheable storage for which the data
60 is not in the cache have been completed.
61 .SH VERSIONS
62 These functions first appeared in glibc in version 2.18.
63 .SH ATTRIBUTES
64 For an explanation of the terms used in this section, see
65 .BR attributes (7).
66 .ad l
67 .nh
68 .TS
69 allbox;
70 lbx lb lb
71 l l l.
72 Interface       Attribute       Value
74 .BR __ppc_yield (),
75 .BR __ppc_mdoio (),
76 .BR __ppc_mdoom ()
77 T}      Thread safety   MT-Safe
78 .TE
79 .hy
80 .ad
81 .sp 1
82 .SH CONFORMING TO
83 These functions are nonstandard GNU extensions.
84 .SH SEE ALSO
85 .BR __ppc_set_ppr_med (3)
86 .PP
87 .IR "Power ISA, Book\ II - Section\ 3.2 (""or"" architecture)"