s390/time: always use stckf instead of stck if available
The store clock fast instruction saves a couple of instructions compared to the store clock instruction. Always use stckf instead of stck if it is available. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:

committed by
Martin Schwidefsky

parent
2739b6d124
commit
473e66baad
@@ -73,11 +73,15 @@ static inline void local_tick_enable(unsigned long long comp)
|
||||
|
||||
typedef unsigned long long cycles_t;
|
||||
|
||||
static inline unsigned long long get_clock (void)
|
||||
static inline unsigned long long get_clock(void)
|
||||
{
|
||||
unsigned long long clk;
|
||||
|
||||
#if defined(CONFIG_64BIT) && !defined(CONFIG_MARCH_Z900) && !defined(CONFIG_MARCH_Z990)
|
||||
asm volatile(".insn s,0xb27c0000,%0" : "=Q" (clk) : : "cc");
|
||||
#else
|
||||
asm volatile("stck %0" : "=Q" (clk) : : "cc");
|
||||
#endif
|
||||
return clk;
|
||||
}
|
||||
|
||||
@@ -86,17 +90,6 @@ static inline void get_clock_ext(char *clk)
|
||||
asm volatile("stcke %0" : "=Q" (*clk) : : "cc");
|
||||
}
|
||||
|
||||
static inline unsigned long long get_clock_fast(void)
|
||||
{
|
||||
unsigned long long clk;
|
||||
|
||||
if (MACHINE_HAS_STCKF)
|
||||
asm volatile(".insn s,0xb27c0000,%0" : "=Q" (clk) : : "cc");
|
||||
else
|
||||
clk = get_clock();
|
||||
return clk;
|
||||
}
|
||||
|
||||
static inline unsigned long long get_clock_xt(void)
|
||||
{
|
||||
unsigned char clk[16];
|
||||
|
Reference in New Issue
Block a user