John Hubbard
2025-Nov-05 21:55 UTC
[PATCH v2 08/12] nova-core: sequencer: Add register opcodes
On 11/5/25 8:30 AM, Timur Tabi wrote:> On Wed, 2025-11-05 at 03:45 +0000, Joel Fernandes wrote: >>>> +??????? dev_dbg!( >>>> +??????????? sequencer.dev, >>>> +??????????? "RegWrite: addr=0x{:x}, val=0x{:x}\n", >>> >>> Hi Joel, >>> >>> The RegRead, RegWrite, RegPoll prints generate over 400 lines >>> per GPU, into the logs. This is too much, especially now that >>> it's been working for a while. >>> >>> I'm thinking let's delete these entirely. If we somehow get >>> into debugging this aspect of the sequencer, we can temporarily >>> add whatever printing we need, but I think it's one notch too >>> far for the final product, now that you have it working. >> >> Sure John, I am Ok with removing the prints. I will do so for the next spin. > > Or, you could do what Nouveau does, and define two more printk levels below DBG specifically for > stuff like this: > > #define nvdev_trace(d,f,a...) nvdev_printk((d), TRACE, info, f, ##a) > #define nvdev_spam(d,f,a...) nvdev_printk((d), SPAM, dbg, f, ##a)...and those are unusable, unfortunately. I've tried. ftrace/bpftrace, maybe those are the real way to "trace"...or something other than this. thanks, -- John Hubbard
Timur Tabi
2025-Nov-05 23:19 UTC
[PATCH v2 08/12] nova-core: sequencer: Add register opcodes
On Wed, 2025-11-05 at 13:55 -0800, John Hubbard wrote:> > #define nvdev_trace(d,f,a...) nvdev_printk((d), TRACE,?? info, f, ##a) > > #define nvdev_spam(d,f,a...)? nvdev_printk((d),? SPAM,??? dbg, f, ##a) > > ...and those are unusable, unfortunately. I've tried.This works great for me: modprobe nouveau dyndbg="+p" modeset=1 debug="gsp=spam" config=NvGspRm=1 I get all sequencer messages when I boot with these options.> ftrace/bpftrace, maybe those are the real way to "trace"...or something > other than this.You could say the same thing about most dev_dbg() statements. I agree that dev_dbg for sequencer commands is excessive, and that implementing new debug levels just to get sequencer prints is also excessive. But Nouveau implement nvkm_trace for a reason. And we all know that because of ? in Rust, NovaCore does a terrible job at telling us where an error actually occurred. So there is a lot of room for improvement.