Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/sparc/include/asm/backoff.h
17359 views
1
#ifndef _SPARC64_BACKOFF_H
2
#define _SPARC64_BACKOFF_H
3
4
#define BACKOFF_LIMIT (4 * 1024)
5
6
#ifdef CONFIG_SMP
7
8
#define BACKOFF_SETUP(reg) \
9
mov 1, reg
10
11
#define BACKOFF_LABEL(spin_label, continue_label) \
12
spin_label
13
14
#define BACKOFF_SPIN(reg, tmp, label) \
15
mov reg, tmp; \
16
88: brnz,pt tmp, 88b; \
17
sub tmp, 1, tmp; \
18
set BACKOFF_LIMIT, tmp; \
19
cmp reg, tmp; \
20
bg,pn %xcc, label; \
21
nop; \
22
ba,pt %xcc, label; \
23
sllx reg, 1, reg;
24
25
#else
26
27
#define BACKOFF_SETUP(reg)
28
29
#define BACKOFF_LABEL(spin_label, continue_label) \
30
continue_label
31
32
#define BACKOFF_SPIN(reg, tmp, label)
33
34
#endif
35
36
#endif /* _SPARC64_BACKOFF_H */
37
38