Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27c0620c authored by Thomas Richter's avatar Thomas Richter Committed by Martin Schwidefsky
Browse files

s390 cio: Rewrite trace point in s390_cio_adapter_int



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
__field macro for the necessary 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: default avatarThomas Richter <tmricht@linux.ibm.com>
Reviewed-by: default avatarPeter Oberparleiter <oberpar@linux.ibm.com>
Acked-by: default avatarSebastian Ott <sebott@linux.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 67faae15
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -331,11 +331,13 @@ TRACE_EVENT(s390_cio_adapter_int,
	TP_ARGS(tpi_info),
	TP_STRUCT__entry(
		__field_struct(struct tpi_info, tpi_info)
		__field(u8, isc)
	),
	TP_fast_assign(
		__entry->tpi_info = *tpi_info;
		__entry->isc = tpi_info->isc;
	),
	TP_printk("isc=%d", __entry->tpi_info.isc)
	TP_printk("isc=%d", __entry->isc)
);

/**