summaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/cpu_mf.h
diff options
context:
space:
mode:
authorHendrik Brueckner <brueckner@linux.ibm.com>2018-07-16 11:08:06 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2018-07-31 11:02:27 +0200
commit5223c671674c507cc9bcabdfc5a9b449c178330a (patch)
tree1965a82b30d74a6cd1e8d009588e7d294933d9e2 /arch/s390/include/asm/cpu_mf.h
parent03760d44b1d12df34422f61fc30846d334e03eac (diff)
downloadblackbird-obmc-linux-5223c671674c507cc9bcabdfc5a9b449c178330a.tar.gz
blackbird-obmc-linux-5223c671674c507cc9bcabdfc5a9b449c178330a.zip
s390/cpum_sf: save TOD clock base in SDBs for time conversion
Processing the samples in the AUX-area by perf requires the computation of respective time stamps. The time stamps used by perf are based on the monotonic clock. To convert the TOD clock value contained in an SDB to a monotonic clock value, the TOD clock base is required. Hence, also save the TOD clock base in the SDB. Suggested-by: Thomas Richter <tmricht@linux.ibm.com> Signed-off-by: Hendrik Brueckner <brueckner@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/cpu_mf.h')
-rw-r--r--arch/s390/include/asm/cpu_mf.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/s390/include/asm/cpu_mf.h b/arch/s390/include/asm/cpu_mf.h
index de023a9a88ca..bf2cbff926ef 100644
--- a/arch/s390/include/asm/cpu_mf.h
+++ b/arch/s390/include/asm/cpu_mf.h
@@ -2,7 +2,7 @@
/*
* CPU-measurement facilities
*
- * Copyright IBM Corp. 2012
+ * Copyright IBM Corp. 2012, 2018
* Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
* Jan Glauber <jang@linux.vnet.ibm.com>
*/
@@ -139,8 +139,14 @@ struct hws_trailer_entry {
unsigned char timestamp[16]; /* 16 - 31 timestamp */
unsigned long long reserved1; /* 32 -Reserved */
unsigned long long reserved2; /* */
- unsigned long long progusage1; /* 48 - reserved for programming use */
- unsigned long long progusage2; /* */
+ union { /* 48 - reserved for programming use */
+ struct {
+ unsigned int clock_base:1; /* in progusage2 */
+ unsigned long long progusage1:63;
+ unsigned long long progusage2;
+ };
+ unsigned long long progusage[2];
+ };
} __packed;
/* Load program parameter */
OpenPOWER on IntegriCloud