Commit 80376f34 authored by Jan Glauber's avatar Jan Glauber Committed by Martin Schwidefsky

[S390] Introduce get_clock_fast()

Add get_clock_fast() which uses the slightly faster stckf if available.
If stckf is not available fall back to stck, which has the same width.
Signed-off-by: default avatarJan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 388186bc
...@@ -86,6 +86,17 @@ static inline void get_clock_ext(char *clk) ...@@ -86,6 +86,17 @@ static inline void get_clock_ext(char *clk)
asm volatile("stcke %0" : "=Q" (*clk) : : "cc"); asm volatile("stcke %0" : "=Q" (*clk) : : "cc");
} }
static inline unsigned long long get_clock_fast(void)
{
unsigned long long clk;
if (test_facility(25))
asm volatile(".insn s,0xb27c0000,%0" : "=Q" (clk) : : "cc");
else
clk = get_clock();
return clk;
}
static inline unsigned long long get_clock_xt(void) static inline unsigned long long get_clock_xt(void)
{ {
unsigned char clk[16]; unsigned char clk[16];
......
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