Contributors: 8
| Author |
Tokens |
Token Proportion |
Commits |
Commit Proportion |
| Thomas Weißschuh |
21 |
42.00% |
1 |
11.11% |
| Nagarathnam Muthusamy |
13 |
26.00% |
1 |
11.11% |
| Linus Torvalds |
8 |
16.00% |
1 |
11.11% |
| David S. Miller |
2 |
4.00% |
2 |
22.22% |
| David Woodhouse |
2 |
4.00% |
1 |
11.11% |
| Linus Torvalds (pre-git) |
2 |
4.00% |
1 |
11.11% |
| Greg Kroah-Hartman |
1 |
2.00% |
1 |
11.11% |
| Adam Buchbinder |
1 |
2.00% |
1 |
11.11% |
| Total |
50 |
|
9 |
|
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_SPARC_VDSO_PROCESSOR_H
#define _ASM_SPARC_VDSO_PROCESSOR_H
#include <linux/compiler.h>
#if defined(__arch64__)
/* Please see the commentary in asm/backoff.h for a description of
* what these instructions are doing and how they have been chosen.
* To make a long story short, we are trying to yield the current cpu
* strand during busy loops.
*/
#ifdef BUILD_VDSO
#define cpu_relax() asm volatile("\n99:\n\t" \
"rd %%ccr, %%g0\n\t" \
"rd %%ccr, %%g0\n\t" \
"rd %%ccr, %%g0\n\t" \
::: "memory")
#else /* ! BUILD_VDSO */
#define cpu_relax() asm volatile("\n99:\n\t" \
"rd %%ccr, %%g0\n\t" \
"rd %%ccr, %%g0\n\t" \
"rd %%ccr, %%g0\n\t" \
".section .pause_3insn_patch,\"ax\"\n\t"\
".word 99b\n\t" \
"wr %%g0, 128, %%asr27\n\t" \
"nop\n\t" \
"nop\n\t" \
".previous" \
::: "memory")
#endif /* BUILD_VDSO */
#else /* ! __arch64__ */
#define cpu_relax() barrier()
#endif /* __arch64__ */
#endif /* _ASM_SPARC_VDSO_PROCESSOR_H */