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.