Commit 87f79d88 authored by Heiko Carstens's avatar Heiko Carstens

s390/processor: always inline cpu flag helper functions

arch_cpu_idle() is marked noinstr and therefore must only call functions
which are also not instrumented.

Make sure that cpu flag helper functions are always inlined to avoid that
the compiler generates an out-of-line function for e.g. the call within
arch_cpu_idle().
Reviewed-by: default avatarSven Schnelle <svens@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent a9cbc1b4
...@@ -44,17 +44,17 @@ ...@@ -44,17 +44,17 @@
typedef long (*sys_call_ptr_t)(struct pt_regs *regs); typedef long (*sys_call_ptr_t)(struct pt_regs *regs);
static inline void set_cpu_flag(int flag) static __always_inline void set_cpu_flag(int flag)
{ {
S390_lowcore.cpu_flags |= (1UL << flag); S390_lowcore.cpu_flags |= (1UL << flag);
} }
static inline void clear_cpu_flag(int flag) static __always_inline void clear_cpu_flag(int flag)
{ {
S390_lowcore.cpu_flags &= ~(1UL << flag); S390_lowcore.cpu_flags &= ~(1UL << flag);
} }
static inline int test_cpu_flag(int flag) static __always_inline int test_cpu_flag(int flag)
{ {
return !!(S390_lowcore.cpu_flags & (1UL << flag)); return !!(S390_lowcore.cpu_flags & (1UL << flag));
} }
...@@ -63,7 +63,7 @@ static inline int test_cpu_flag(int flag) ...@@ -63,7 +63,7 @@ static inline int test_cpu_flag(int flag)
* Test CIF flag of another CPU. The caller needs to ensure that * Test CIF flag of another CPU. The caller needs to ensure that
* CPU hotplug can not happen, e.g. by disabling preemption. * CPU hotplug can not happen, e.g. by disabling preemption.
*/ */
static inline int test_cpu_flag_of(int flag, int cpu) static __always_inline int test_cpu_flag_of(int flag, int cpu)
{ {
struct lowcore *lc = lowcore_ptr[cpu]; struct lowcore *lc = lowcore_ptr[cpu];
return !!(lc->cpu_flags & (1UL << flag)); return !!(lc->cpu_flags & (1UL << flag));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment