s390 cio: Rewrite trace point in s390_cio_stcrw
authorThomas Richter <tmricht@linux.ibm.com>
Wed, 11 Jul 2018 08:27:12 +0000 (10:27 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 23 Jul 2018 11:49:54 +0000 (13:49 +0200)
commit67faae15675aac8327b094677a830fdffb7dd68d
treec18e592e4fe4dcda5c9354e6ed9b1b506ffadb2e
parent5925e819274260bb48e10a2fc6d22b996d1e135f
s390 cio: Rewrite trace point in s390_cio_stcrw

Tools like 'perf stat' parse the trace point format files defined
in /sys/kernel/debug/tracing/events/s390/.../format to handle
the print fmt: statement. The kernel provides a library in
directory linux/tools/lib/traceevent/* for this reason.

This library can not handle structures or unions defined in
the TRACE_EVENT/TP_STRUCT__entry macros with __field_struct macro.
There is no possibility to extract a structure member
(which might be a bit field) since there is no packing
information nor bit field offset by parsing the printf fmt line.

Therefore rewrite the TRACE_EVENT macro and add the
the __field macro for the missing members.
Keep the __fieldstruct macro to extract the complete
structure when dumps are analysed.

Note that the same information is displayed, this is no
interface change.

Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Acked-by: Sebastian Ott <sebott@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/trace.h