[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b07b21e8-5dd4-4d40-bcad-dd8dc4fbaef4@nvidia.com>
Date: Mon, 10 Nov 2025 10:16:45 -0500
From: Joel Fernandes <joelagnelf@...dia.com>
To: Timur Tabi <ttabi@...dia.com>, John Hubbard <jhubbard@...dia.com>
Cc: "dakr@...nel.org" <dakr@...nel.org>, "lossin@...nel.org"
<lossin@...nel.org>, "ojeda@...nel.org" <ojeda@...nel.org>,
"boqun.feng@...il.com" <boqun.feng@...il.com>,
"a.hindborg@...nel.org" <a.hindborg@...nel.org>,
"simona@...ll.ch" <simona@...ll.ch>, "tmgross@...ch.edu"
<tmgross@...ch.edu>, "alex.gaynor@...il.com" <alex.gaynor@...il.com>,
"mripard@...nel.org" <mripard@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"maarten.lankhorst@...ux.intel.com" <maarten.lankhorst@...ux.intel.com>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"nouveau@...ts.freedesktop.org" <nouveau@...ts.freedesktop.org>,
"rust-for-linux@...r.kernel.org" <rust-for-linux@...r.kernel.org>,
"gary@...yguo.net" <gary@...yguo.net>,
"bjorn3_gh@...tonmail.com" <bjorn3_gh@...tonmail.com>,
"tzimmermann@...e.de" <tzimmermann@...e.de>,
"airlied@...il.com" <airlied@...il.com>,
"aliceryhl@...gle.com" <aliceryhl@...gle.com>,
Alexandre Courbot <acourbot@...dia.com>,
"joel@...lfernandes.org" <joel@...lfernandes.org>,
Alistair Popple <apopple@...dia.com>, Steven Rostedt <rostedt@...dmis.org>
Subject: Re: [PATCH v2 08/12] nova-core: sequencer: Add register opcodes
really +Steve Rostedt this time.
On 11/10/2025 10:16 AM, Joel Fernandes wrote:
> On 11/5/2025 6:19 PM, Timur Tabi wrote:
>> 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.
>
> 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.
>
> 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.
>
> thanks,
>
> - Joel
>
Powered by blists - more mailing lists