Re: [PATCH v1] arch/x86: port I/O tracing on x86

From: Dan Raymond
Date: Mon Sep 25 2023 - 17:10:25 EST


Can I get more feedback on this please? I think I've addressed all of
Peter Zijlstra's concerns:

1) cannot use early_console->write()

That is not true. Everything that includes boot.h (ie.
'arch/x86/boot/early_serial_console.c') will not change due to the
'#ifdef BOOT_BOOT_H' guard. Also tracing will not be compiled in
unless 'CONFIG_TRACEPOINTS' is true. Finally, tracing will be
disabled at boot until the user mounts the tracefs and explicitly
enables 'portio' events. When tracing is disabled the trace
routines execute a nop instruction and return immediately.

2) tracing relies on RCU which might not be alive yet and might
itself be the problem

RCU is not needed unless/until tracing is enabled. I also
demonstrated that port I/O tracing works correctly during boot by
testing this patch with "trace_event=portio" on the command line.

I plan to submit another patch due to the compiler warning reported
by the "kernel test robot". Before I do that I would like to get
more feedback so I can address any other concerns or suggestions.