Commit 5cdd0259 authored by Thomas Richter's avatar Thomas Richter Committed by Greg Kroah-Hartman

perf report: Add s390 diagnosic sampling descriptor size

[ Upstream commit 2187d87e ]

On IBM z13 machine types 2964 and 2965 the descriptor
sizes for sampling and diagnostic sampling entries
might be missing in the trailer entry and are set to zero.

This leads to a perf report failure when processing diagnostic
sampling entries.

This patch adds missing descriptor sizes when the trailer entry
contains zero for these fields.

Output before:
  [root@s38lp82 perf]#  ./perf report --stdio | fgrep Samples
  0xabbf0 [0x8]: failed to process type: 68
  Error:
  failed to process sample
  [root@s38lp82 perf]#

Output after:
  [root@s38lp82 perf]#  ./perf report --stdio | fgrep Samples
  # Total Lost Samples: 0
  # Samples: 3K of event 'SF_CYCLES_BASIC_DIAG'
  # Samples: 162  of event 'CF_DIAG'
  [root@s38lp82 perf]#

Fixes: 2b1444f2 ("perf report: Add raw report support for s390 auxiliary trace")
Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
Reviewed-by: default avatarHendrik Brueckner <brueckner@linux.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Link: http://lkml.kernel.org/r/20190211100627.85714-1-tmricht@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 5658279f
...@@ -294,6 +294,11 @@ static bool s390_cpumsf_validate(int machine_type, ...@@ -294,6 +294,11 @@ static bool s390_cpumsf_validate(int machine_type,
*dsdes = 85; *dsdes = 85;
*bsdes = 32; *bsdes = 32;
break; break;
case 2964:
case 2965:
*dsdes = 112;
*bsdes = 32;
break;
default: default:
/* Illegal trailer entry */ /* Illegal trailer entry */
return false; return false;
......
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