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

From: Peter Zijlstra
Date: Tue Sep 19 2023 - 17:12:33 EST


On Tue, Sep 19, 2023 at 01:56:15PM -0600, Dan Raymond wrote:
> > No, very much no.
> >
> > This sticks tracing in the very rawest of raw output paths.
>
> That's the point. Tracing is a low level debug tool that can be
> used to debug the kernel itself. If you don't trace all port I/O
> then you are bound to miss something important while debugging.
>
> > This means I can no longer use early_console->write() to print to my
> > early_serial_console.
>
> Why not? Did you try it?

I have tried debugging the kernel for the last 15+ years. The only
reliable way to get something out of the machine is outb on the serial
port. Anything else is a waste of time..

Adding tracing to it (which relies on RCU, which might not be alive at
this point) which might itself be the problem, is a total no-go.

You do not wreck early_serial_console.

> > That is the one and only fully reliably output path we have. You're not
> > sticking tracing in it.
>
> Keep in mind that tracing is optional. It can be turned off using
> CONFIG_TRACEPOINTS.

Nobody ever does that. Also, tracepoints in general are useful.