PowerPC: Add functions for shared resources hints.
This commit is contained in:
parent
7b2991daea
commit
9323d39bae
@ -1,3 +1,10 @@
|
||||
2013-05-23 Edjunior Machado <emachado@linux.vnet.ibm.com>
|
||||
|
||||
* sysdeps/powerpc/sys/platform/ppc.h: Add __ppc_yield,
|
||||
__ppc_mdoio and __ppc_mdoom.
|
||||
* manual/platform.texi: Document new functions __ppc_yield,
|
||||
__ppc_mdoio and __ppc_mdoom.
|
||||
|
||||
2013-05-22 Carlos O'Donell <carlos@redhat.com>
|
||||
|
||||
* elf/ldconfig.c (is_hwcap_platform): Make comments full setences.
|
||||
|
@ -34,3 +34,27 @@ This frequency is not related to the processor clock or the bus clock.
|
||||
It is also possible that this frequency is not constant. More information is
|
||||
available in @cite{Power ISA 2.06b - Book II - Section 5.2}.
|
||||
@end deftypefun
|
||||
|
||||
The following functions provide hints about the usage of resources that are
|
||||
shared with other processors. They can be used, for example, if a program
|
||||
waiting on a lock intends to divert the shared resources to be used by other
|
||||
processors. More information is available in @cite{Power ISA 2.06b - Book II -
|
||||
Section 3.2}.
|
||||
|
||||
@deftypefun {void} __ppc_yield (void)
|
||||
Provide a hint that performance will probably be improved if shared resources
|
||||
dedicated to the executing processor are released for use by other processors.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun {void} __ppc_mdoio (void)
|
||||
Provide a hint that performance will probably be improved if shared resources
|
||||
dedicated to the executing processor are released until all outstanding storage
|
||||
accesses to caching-inhibited storage have been completed.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun {void} __ppc_mdoom (void)
|
||||
Provide a hint that performance will probably be improved if shared resources
|
||||
dedicated to the executing processor are released until all outstanding storage
|
||||
accesses to cacheable storage for which the data is not in the cache have been
|
||||
completed.
|
||||
@end deftypefun
|
||||
|
@ -50,4 +50,36 @@ __ppc_get_timebase (void)
|
||||
#endif
|
||||
}
|
||||
|
||||
/* The following functions provide hints about the usage of shared processor
|
||||
resources, as defined in ISA 2.06 and newer. */
|
||||
|
||||
/* Provides a hint that performance will probably be improved if shared
|
||||
resources dedicated to the executing processor are released for use by other
|
||||
processors. */
|
||||
static inline void
|
||||
__ppc_yield (void)
|
||||
{
|
||||
__asm__ volatile ("or 27,27,27");
|
||||
}
|
||||
|
||||
/* Provides a hint that performance will probably be improved if shared
|
||||
resources dedicated to the executing processor are released until
|
||||
all outstanding storage accesses to caching-inhibited storage have been
|
||||
completed. */
|
||||
static inline void
|
||||
__ppc_mdoio (void)
|
||||
{
|
||||
__asm__ volatile ("or 29,29,29");
|
||||
}
|
||||
|
||||
/* Provides a hint that performance will probably be improved if shared
|
||||
resources dedicated to the executing processor are released until all
|
||||
outstanding storage accesses to cacheable storage for which the data is not
|
||||
in the cache have been completed. */
|
||||
static inline void
|
||||
__ppc_mdoom (void)
|
||||
{
|
||||
__asm__ volatile ("or 30,30,30");
|
||||
}
|
||||
|
||||
#endif /* sys/platform/ppc.h */
|
||||
|
Loading…
x
Reference in New Issue
Block a user