public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Pekka Paalanen <ppaalanen@gmail.com>
Cc: "Daniel Vetter" <daniel@ffwll.ch>,
	jim.cromie@gmail.com, "Łukasz Bartosik" <lb@semihalf.com>,
	linux-kernel@vger.kernel.org,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"wayland-devel@lists.freedesktop.org"
	<wayland-devel@lists.freedesktop.org>,
	"Sean Paul" <seanpaul@chromium.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH v1] dynamic_debug: add support for logs destination
Date: Thu, 12 Oct 2023 15:18:46 +0200	[thread overview]
Message-ID: <ZSfyNgaHGGPiKqjN@phenom.ffwll.local> (raw)
In-Reply-To: <20231012133944.69711822@eldfell>

On Thu, Oct 12, 2023 at 01:39:44PM +0300, Pekka Paalanen wrote:
> On Thu, 12 Oct 2023 11:53:52 +0200
> Daniel Vetter <daniel@ffwll.ch> wrote:
> 
> > On Thu, Oct 12, 2023 at 11:55:48AM +0300, Pekka Paalanen wrote:
> > > On Wed, 11 Oct 2023 11:42:24 +0200
> > > Daniel Vetter <daniel@ffwll.ch> wrote:
> > >   
> > > > On Wed, Oct 11, 2023 at 11:48:16AM +0300, Pekka Paalanen wrote:  
> 
> ...
> 
> > > > > - all selections tailored separately for each userspace subscriber
> > > > > (- per open device file description selection of messages)    
> > > > 
> > > > Again this feels like a userspace problem. Sessions could register what
> > > > kind of info they need for their session, and something like journald can
> > > > figure out how to record it all.  
> > > 
> > > Only if the kernel actually attaches all the required information to
> > > the debug messages *in machine readable form* so that userspace
> > > actually can do the filtering. And that makes *that* information UABI.
> > > Maybe that's fine? I wouldn't know.  
> > 
> > Well if you configure the filters to go into separate ringbuffers for each
> > session (or whatever you want to split) it also becomes uapi.
> 
> It's a different UAPI: filter configuration vs. message structure. I
> don't mind which it is, I just suspect one is easier to maintain and
> extend than the other.
> 
> > Also I'd say that for the first cut just getting the logs out on demand
> > should be good enough, multi-gpu (or multi-compositor) systems are a step
> > further. We can figure those out when we get there.
> 
> This reminds me of what you recently said in IRC about a very different
> topic:
> 
> 	<sima> swick[m], tell this past me roughly 10 years ago, would
> 	have been easy to add into the design back when there was no
> 	driver code yet 
> 
> I just want to mention today everything I can see as useful. It's up to
> the people doing the actual work to decide what they include and how.

I actually pondered this a bit more today, and I think even with hindsight
the atomic design we ended up with was probably rather close to optimal.

Sure there's a bunch of things that would have been nice to include, but
another very hard requirement of atomic was that it's feasible to convert
current drivers over to it. And I think going full free-standing state
structures with unlimited (at least at the design level) queue depth would
have been a bridge too far.

The hacks and conversion helpers are all gone by now, but "you can just
peek at the object struct to get your state" was a huge help in reducing
the conversion churn.

But it definitely resulted in a big price we're still paying.

tldr I don't think getting somewhere useful, even if somewhat deficient,
is bad.
-Sima
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

  reply	other threads:[~2023-10-12 13:18 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-15 15:48 [PATCH v1] dynamic_debug: add support for logs destination Łukasz Bartosik
2023-09-15 18:02 ` jim.cromie
2023-09-18  7:20   ` Łukasz Bartosik
2023-10-02 10:07     ` Łukasz Bartosik
2023-10-02 20:49     ` jim.cromie
2023-10-03 19:58       ` Steven Rostedt
2023-10-03 20:53         ` jim.cromie
2023-10-04 10:55           ` Łukasz Bartosik
2023-10-05 17:14             ` Łukasz Bartosik
2023-10-06 20:49             ` jim.cromie
2023-10-09 22:47               ` Łukasz Bartosik
2023-10-10 16:01                 ` jim.cromie
2023-10-10 16:06                   ` jim.cromie
2023-10-11  8:48                     ` Pekka Paalanen
2023-10-11  9:42                       ` Daniel Vetter
2023-10-11 13:59                         ` Łukasz Bartosik
2023-10-12  8:55                         ` Pekka Paalanen
2023-10-12  9:53                           ` Daniel Vetter
2023-10-12 10:39                             ` Pekka Paalanen
2023-10-12 13:18                               ` Daniel Vetter [this message]
2023-10-16 15:03                             ` Steven Rostedt
2023-10-12 18:48                         ` jim.cromie
2023-10-16 15:13                           ` Łukasz Bartosik
2023-10-18  3:08                             ` jim.cromie
2023-10-19 13:21                               ` Łukasz Bartosik
2023-10-11 13:47                   ` Łukasz Bartosik
2023-10-24 16:24 ` Jason Baron
2023-10-25  7:58   ` Łukasz Bartosik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZSfyNgaHGGPiKqjN@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jim.cromie@gmail.com \
    --cc=lb@semihalf.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ppaalanen@gmail.com \
    --cc=rostedt@goodmis.org \
    --cc=seanpaul@chromium.org \
    --cc=wayland-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox