On Mon, 10 Nov 2025 10:16:45 -0500 Joel Fernandes <[email protected]> wrote:
> > IMO, the best way to do this is the tracing subsystem. It is the lowest > > overhead > > runtime kernel logging system that I know off, lockless, independent of the > > serial console etc, next to no runtime overhead when off, etc. > > > > I recommend we use the tracing subsystem for "trace" and even "spam" level > > logging levels for Nova. The brave souls can always ask the tracing > > subsystem to > > also spam to kernel logs if they so wish. > > > > ++ Tracing Czar Steven Rostedt as well. Steve, Nova is a new modern Nvidia > > GPU > > driver. Not sure if there was a question here, but you can enable tracing via the kernel command line and it will record into the ring buffer, and read it out via /sys/kernel/tracing/trace. You could also create instances by the kernel command line that will place events in different ring buffer instances (/sys/kernel/tracing/instances/<instance>/trace). You could even filter the events based on the trace event fields, process ID, CPU, etc. There's also a tp_printk kernel command line option that will turn every trace event into a printk() statement. You need to be careful of what events you enable when doing this, as some events (like locking events) can live lock the system if they are piped to printk(). After boot up, you can turn off the tp_printk with: echo 0 > /proc/sys/kernel/tracepoint_printk -- Steve > > > > I guess we have to decide how to do this - what kind of tracepoints do we > > need > > for Nova. One use case that just came up is RPC message buffer dumps for > > debugging communication with the firmware.
