locking/core, arch: Remove cpu_relax_lowlatency()
As there are no users left, we can remove cpu_relax_lowlatency() implementations from every architecture. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Noam Camus <noamc@ezchip.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will.deacon@arm.com> Cc: linuxppc-dev@lists.ozlabs.org Cc: virtualization@lists.linux-foundation.org Cc: xen-devel@lists.xenproject.org Cc: <linux-arch@vger.kernel.org> Link: http://lkml.kernel.org/r/1477386195-32736-6-git-send-email-borntraeger@de.ibm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Родитель
f2f09a4cee
Коммит
5bd0b85ba8
|
@ -59,7 +59,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#define ARCH_HAS_PREFETCH
|
#define ARCH_HAS_PREFETCH
|
||||||
#define ARCH_HAS_PREFETCHW
|
#define ARCH_HAS_PREFETCHW
|
||||||
|
|
|
@ -61,7 +61,6 @@ struct task_struct;
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -69,7 +68,6 @@ struct task_struct;
|
||||||
__asm__ __volatile__ (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory")
|
__asm__ __volatile__ (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory")
|
||||||
|
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() barrier()
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#define task_pt_regs(p) \
|
#define task_pt_regs(p) \
|
||||||
((struct pt_regs *)(THREAD_START_SP + task_stack_page(p)) - 1)
|
((struct pt_regs *)(THREAD_START_SP + task_stack_page(p)) - 1)
|
||||||
|
|
|
@ -150,7 +150,6 @@ static inline void cpu_relax(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* Thread switching */
|
/* Thread switching */
|
||||||
extern struct task_struct *cpu_switch_to(struct task_struct *prev,
|
extern struct task_struct *cpu_switch_to(struct task_struct *prev,
|
||||||
|
|
|
@ -93,7 +93,6 @@ extern struct avr32_cpuinfo boot_cpu_data;
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
#define cpu_sync_pipeline() asm volatile("sub pc, -2" : : : "memory")
|
#define cpu_sync_pipeline() asm volatile("sub pc, -2" : : : "memory")
|
||||||
|
|
||||||
struct cpu_context {
|
struct cpu_context {
|
||||||
|
|
|
@ -93,7 +93,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() smp_mb()
|
#define cpu_relax() smp_mb()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* Get the Silicon Revision of the chip */
|
/* Get the Silicon Revision of the chip */
|
||||||
static inline uint32_t __pure bfin_revid(void)
|
static inline uint32_t __pure bfin_revid(void)
|
||||||
|
|
|
@ -122,7 +122,6 @@ extern unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() do { } while (0)
|
#define cpu_relax() do { } while (0)
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
extern const struct seq_operations cpuinfo_op;
|
extern const struct seq_operations cpuinfo_op;
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,6 @@ static inline void release_thread(struct task_struct *dead_task)
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
void default_idle(void);
|
void default_idle(void);
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* data cache prefetch */
|
/* data cache prefetch */
|
||||||
#define ARCH_HAS_PREFETCH
|
#define ARCH_HAS_PREFETCH
|
||||||
|
|
|
@ -128,7 +128,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#define HARD_RESET_NOW() ({ \
|
#define HARD_RESET_NOW() ({ \
|
||||||
local_irq_disable(); \
|
local_irq_disable(); \
|
||||||
|
|
|
@ -57,7 +57,6 @@ struct thread_struct {
|
||||||
|
|
||||||
#define cpu_relax() __vmyield()
|
#define cpu_relax() __vmyield()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decides where the kernel will search for a free chunk of vm space during
|
* Decides where the kernel will search for a free chunk of vm space during
|
||||||
|
|
|
@ -548,7 +548,6 @@ ia64_eoi (void)
|
||||||
|
|
||||||
#define cpu_relax() ia64_hint(ia64_hint_pause)
|
#define cpu_relax() ia64_hint(ia64_hint_pause)
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
ia64_get_irr(unsigned int vector)
|
ia64_get_irr(unsigned int vector)
|
||||||
|
|
|
@ -134,6 +134,5 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#endif /* _ASM_M32R_PROCESSOR_H */
|
#endif /* _ASM_M32R_PROCESSOR_H */
|
||||||
|
|
|
@ -157,6 +157,5 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -153,7 +153,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
extern void setup_priv(void);
|
extern void setup_priv(void);
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ extern const struct seq_operations cpuinfo_op;
|
||||||
|
|
||||||
# define cpu_relax() barrier()
|
# define cpu_relax() barrier()
|
||||||
# define cpu_relax_yield() cpu_relax()
|
# define cpu_relax_yield() cpu_relax()
|
||||||
# define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#define task_pt_regs(tsk) \
|
#define task_pt_regs(tsk) \
|
||||||
(((struct pt_regs *)(THREAD_SIZE + task_stack_page(tsk))) - 1)
|
(((struct pt_regs *)(THREAD_SIZE + task_stack_page(tsk))) - 1)
|
||||||
|
|
|
@ -390,7 +390,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return_address is a replacement for __builtin_return_address(count)
|
* Return_address is a replacement for __builtin_return_address(count)
|
||||||
|
|
|
@ -70,7 +70,6 @@ extern void dodgy_tsc(void);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* User space process size: 1.75GB (default).
|
* User space process size: 1.75GB (default).
|
||||||
|
|
|
@ -89,7 +89,6 @@ extern unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,6 @@ extern unsigned long thread_saved_pc(struct task_struct *t);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* __ASM_OPENRISC_PROCESSOR_H */
|
#endif /* __ASM_OPENRISC_PROCESSOR_H */
|
||||||
|
|
|
@ -310,7 +310,6 @@ extern unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* parisc_requires_coherency() is used to identify the combined VIPT/PIPT
|
* parisc_requires_coherency() is used to identify the combined VIPT/PIPT
|
||||||
|
|
|
@ -405,7 +405,6 @@ static inline unsigned long __pack_fe01(unsigned int fpmode)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* Check that a certain kernel stack pointer is valid in task_struct p */
|
/* Check that a certain kernel stack pointer is valid in task_struct p */
|
||||||
int validate_sp(unsigned long sp, struct task_struct *p,
|
int validate_sp(unsigned long sp, struct task_struct *p,
|
||||||
|
|
|
@ -237,7 +237,6 @@ static inline unsigned short stap(void)
|
||||||
void cpu_relax_yield(void);
|
void cpu_relax_yield(void);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_lowlatency() barrier()
|
|
||||||
|
|
||||||
#define ECAG_CACHE_ATTRIBUTE 0
|
#define ECAG_CACHE_ATTRIBUTE 0
|
||||||
#define ECAG_CPU_ATTRIBUTE 1
|
#define ECAG_CPU_ATTRIBUTE 1
|
||||||
|
|
|
@ -25,7 +25,6 @@ extern unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
#define release_thread(thread) do {} while (0)
|
#define release_thread(thread) do {} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -98,7 +98,6 @@ extern struct sh_cpuinfo cpu_data[];
|
||||||
#define cpu_sleep() __asm__ __volatile__ ("sleep" : : : "memory")
|
#define cpu_sleep() __asm__ __volatile__ ("sleep" : : : "memory")
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
void default_idle(void);
|
void default_idle(void);
|
||||||
void stop_this_cpu(void *);
|
void stop_this_cpu(void *);
|
||||||
|
|
|
@ -120,7 +120,6 @@ int do_mathemu(struct pt_regs *regs, struct task_struct *fpt);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
extern void (*sparc_idle)(void);
|
extern void (*sparc_idle)(void);
|
||||||
|
|
||||||
|
|
|
@ -217,7 +217,6 @@ unsigned long get_wchan(struct task_struct *task);
|
||||||
".previous" \
|
".previous" \
|
||||||
::: "memory")
|
::: "memory")
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* Prefetch support. This is tuned for UltraSPARC-III and later.
|
/* Prefetch support. This is tuned for UltraSPARC-III and later.
|
||||||
* UltraSPARC-I will treat these as nops, and UltraSPARC-II has
|
* UltraSPARC-I will treat these as nops, and UltraSPARC-II has
|
||||||
|
|
|
@ -265,7 +265,6 @@ static inline void cpu_relax(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* Info on this processor (see fs/proc/cpuinfo.c) */
|
/* Info on this processor (see fs/proc/cpuinfo.c) */
|
||||||
struct seq_operations;
|
struct seq_operations;
|
||||||
|
|
|
@ -72,7 +72,6 @@ unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#define task_pt_regs(p) \
|
#define task_pt_regs(p) \
|
||||||
((struct pt_regs *)(THREAD_START_SP + task_stack_page(p)) - 1)
|
((struct pt_regs *)(THREAD_START_SP + task_stack_page(p)) - 1)
|
||||||
|
|
|
@ -589,7 +589,6 @@ static __always_inline void cpu_relax(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* Stop speculative execution and prefetching of modified code. */
|
/* Stop speculative execution and prefetching of modified code. */
|
||||||
static inline void sync_core(void)
|
static inline void sync_core(void)
|
||||||
|
|
|
@ -27,7 +27,6 @@ static inline void rep_nop(void)
|
||||||
|
|
||||||
#define cpu_relax() rep_nop()
|
#define cpu_relax() rep_nop()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
#define task_pt_regs(t) (&(t)->thread.regs)
|
#define task_pt_regs(t) (&(t)->thread.regs)
|
||||||
|
|
||||||
|
|
|
@ -207,7 +207,6 @@ extern unsigned long get_wchan(struct task_struct *p);
|
||||||
|
|
||||||
#define cpu_relax() barrier()
|
#define cpu_relax() barrier()
|
||||||
#define cpu_relax_yield() cpu_relax()
|
#define cpu_relax_yield() cpu_relax()
|
||||||
#define cpu_relax_lowlatency() cpu_relax()
|
|
||||||
|
|
||||||
/* Special register access. */
|
/* Special register access. */
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче