Commit 1484dcbb authored by Jithu Joseph's avatar Jithu Joseph Committed by Aichun Shi
Browse files

trace: platform/x86/intel/ifs: Add SBAF trace support

mainline inclusion
from mainline-v6.12-rc1
commit 61b74964536e86445d43acff5cff6ad907ba9321
category: feature
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/IASVRQ
CVE: N/A
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=61b74964536e86445d43acff5cff6ad907ba9321



-------------------------------------

Add tracing support for the SBAF IFS tests, which may be useful for
debugging systems that fail these tests. Log details like test content
batch number, SBAF bundle ID, program index and the exact errors or
warnings encountered by each HT thread during the test.

Intel-SIG: commit 61b74964536e trace: platform/x86/intel/ifs: Add SBAF trace support
Backport to support IFS(In Field Scan) SBAF(Structural Based Functional Test at Field)

Reviewed-by: default avatarAshok Raj <ashok.raj@intel.com>
Reviewed-by: default avatarTony Luck <tony.luck@intel.com>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: default avatarJithu Joseph <jithu.joseph@intel.com>
Signed-off-by: default avatarKuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Link: https://lore.kernel.org/r/20240801051814.1935149-5-sathyanarayanan.kuppuswamy@linux.intel.com


Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
[ Aichun Shi: amend commit log ]
Signed-off-by: default avatarAichun Shi <aichun.shi@intel.com>
parent 3cfa3769
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -528,6 +528,7 @@ static int dosbaf(void *data)
	 */
	wrmsrl(MSR_ACTIVATE_SBAF, run_params->activate->data);
	rdmsrl(MSR_SBAF_STATUS, status.data);
	trace_ifs_sbaf(ifsd->cur_batch, *run_params->activate, status);

	/* Pass back the result of the test */
	if (cpu == first)
+27 −0
Original line number Diff line number Diff line
@@ -35,6 +35,33 @@ TRACE_EVENT(ifs_status,
		__entry->status)
);

TRACE_EVENT(ifs_sbaf,

	TP_PROTO(int batch, union ifs_sbaf activate, union ifs_sbaf_status status),

	TP_ARGS(batch, activate, status),

	TP_STRUCT__entry(
		__field(	u64,	status	)
		__field(	int,	batch	)
		__field(	u16,	bundle	)
		__field(	u16,	pgm	)
	),

	TP_fast_assign(
		__entry->status	= status.data;
		__entry->batch	= batch;
		__entry->bundle	= activate.bundle_idx;
		__entry->pgm	= activate.pgm_idx;
	),

	TP_printk("batch: 0x%.2x, bundle_idx: 0x%.4x, pgm_idx: 0x%.4x, status: 0x%.16llx",
		__entry->batch,
		__entry->bundle,
		__entry->pgm,
		__entry->status)
);

#endif /* _TRACE_IFS_H */

/* This part must be outside protection */