Path: blob/master/arch/sparc/include/asm/backoff.h
17359 views
#ifndef _SPARC64_BACKOFF_H1#define _SPARC64_BACKOFF_H23#define BACKOFF_LIMIT (4 * 1024)45#ifdef CONFIG_SMP67#define BACKOFF_SETUP(reg) \8mov 1, reg910#define BACKOFF_LABEL(spin_label, continue_label) \11spin_label1213#define BACKOFF_SPIN(reg, tmp, label) \14mov reg, tmp; \1588: brnz,pt tmp, 88b; \16sub tmp, 1, tmp; \17set BACKOFF_LIMIT, tmp; \18cmp reg, tmp; \19bg,pn %xcc, label; \20nop; \21ba,pt %xcc, label; \22sllx reg, 1, reg;2324#else2526#define BACKOFF_SETUP(reg)2728#define BACKOFF_LABEL(spin_label, continue_label) \29continue_label3031#define BACKOFF_SPIN(reg, tmp, label)3233#endif3435#endif /* _SPARC64_BACKOFF_H */363738