The CPU Measurement sampling facility creates a trailer entry for each Sample-Data-Block of stored samples. The trailer entry contains the sizes (in bytes) of the stored samples types: - basic-sampling data entry size - diagnostic-sampling data entry size Both sizes are 2 bytes long.
This patch changes the trailer entry definition to reflect this.
Fixes: fcc77f507333 ("s390/cpum_sf: Atomically reset trailer entry fields of sample-data-blocks") Cc: stable@vger.kernel.org # v3.14+ Signed-off-by: Thomas Richter tmricht@linux.ibm.com Reviewed-by: Hendrik Brueckner brueckner@linux.ibm.com --- arch/s390/include/asm/cpu_mf.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/s390/include/asm/cpu_mf.h b/arch/s390/include/asm/cpu_mf.h index 7093a27520ee..5c5b747671e8 100644 --- a/arch/s390/include/asm/cpu_mf.h +++ b/arch/s390/include/asm/cpu_mf.h @@ -129,11 +129,15 @@ struct hws_trailer_entry { unsigned int f:1; /* 0 - Block Full Indicator */ unsigned int a:1; /* 1 - Alert request control */ unsigned int t:1; /* 2 - Timestamp format */ - unsigned long long:61; /* 3 - 63: Reserved */ + unsigned long :29; /* 3 - 31: Reserved */ + }; + unsigned long flags; /* 0 - 31: All indicators */ + struct { + unsigned short bsdes; /* 32-47: Basic set desc size*/ + unsigned short dsdes; /* 48-63 Diag set desc size */ }; - unsigned long long flags; /* 0 - 63: All indicators */ }; - unsigned long long overflow; /* 64 - sample Overflow count */ + unsigned long long overflow; /* 8 - sample Overflow count */ unsigned char timestamp[16]; /* 16 - 31 timestamp */ unsigned long long reserved1; /* 32 -Reserved */ unsigned long long reserved2; /* */
linux-stable-mirror@lists.linaro.org