[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJfuBxwmxbmGmjOYU7VcnTovv-FS-cKZQ5rP8LK6DXP1HrdA9Q@mail.gmail.com>
Date: Mon, 13 Nov 2023 12:14:57 -0700
From: jim.cromie@...il.com
To: Łukasz Bartosik <lb@...ihalf.com>
Cc: Jason Baron <jbaron@...mai.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Kees Cook <keescook@...omium.org>,
Douglas Anderson <dianders@...omium.org>,
Guenter Roeck <groeck@...gle.com>,
Yaniv Tzoreff <yanivt@...gle.com>,
Benson Leung <bleung@...gle.com>,
Steven Rostedt <rostedt@...dmis.org>,
Vincent Whitchurch <vincent.whitchurch@...s.com>,
Pekka Paalanen <ppaalanen@...il.com>,
Sean Paul <seanpaul@...omium.org>,
Daniel Vetter <daniel@...ll.ch>, linux-kernel@...r.kernel.org,
upstream@...ihalf.com
Subject: Re: [PATCH v1 10/12] dyndbg: add processing of T(race) flag argument
On Sun, Nov 12, 2023 at 9:29 AM Łukasz Bartosik <lb@...ihalf.com> wrote:
>
> pt., 10 lis 2023 o 20:51 <jim.cromie@...il.com> napisał(a):
> >
> > On Fri, Nov 10, 2023 at 7:52 AM Łukasz Bartosik <lb@...ihalf.com> wrote:
> > >
> > > sob., 4 lis 2023 o 04:06 <jim.cromie@...il.com> napisał(a):
> > > >
> > > > On Fri, Nov 3, 2023 at 7:10 AM Łukasz Bartosik <lb@...ihalf.com> wrote:
> > > > >
> > > > > Add processing of argument provided to T(race) flag.
> > > > > The argument value determines destination of debug logs:
> > > > >
> > > > > 0 - debug logs will be written to prdbg and devdbg trace events
> > > > > [1..255] - debug logs will be written to trace instance
> > > > >
> > > > > A user can provide trace destination by folowing T flag with
> > > > > ":" and trace destination value in range [0..255], for example:
> > > > >
> > > > > echo "module thunderbolt =pT:7" > /sys/kernel/debug/dynamic_debug/control
> > > > > echo "module thunderbolt =lT:7,p" > /sys/kernel/debug/dynamic_debug/control
> > > > >
> > > > > When T flag with argument is followed by other flags then the next flag has
> > > > > to be preceded with ",".
> > > > >
> > > >
> > > > the trailing , seems punctuation heavy.
> > > > Could we just stipulate that any :string (leading : trailing anything)
> > > > be the last flag in the spec ?
> > > > bare T flags are not constrained otherwise.
> > > > seems fine as API-spec-by-error-codes.
> > > >
> > >
> > > I followed Jason's suggestion to use "," when T flag is not the last
> > > flag and destination is explicitly provided for the T flag, like in
> > > the example above
> > > "echo "module thunderbolt =lT:7,p" > /sys/kernel/debug/dynamic_debug/control".
> > >
> > > With "," we can have the following cases:
> > > - when T is the last flag then it doesn't need to be followed by ","
> > > even if destination is explicitly provided, for example "lpT:7",
> > > - when T is not the last flag and destination is explicitly provided
> > > then "," has to be used before next flag, for example "lT:7,p",
> > > - when T is not the last flag and destination is not explicitly
> > > provided then "," is not required, for example "lTp",
> > >
> > > Jim, Jason, would you please come to terms if we want to use "," or
> > > just assume that T has to be the last flag in the spec ?
> > >
> >
> > Im fine either way - eliminating punctuation has a cost too,
> > it adds some order dependency which isnt there now.
> > If that complicates the code, no-good.
> >
>
> Ok, I will keep the option to use "," to separate T with explicitly
> provided destination from a next flag.
>
> >
> > > >
> > > >
> > > >
> > > > > When no value is provided trace destination defaults to 0, for example:
> >
> > That seems wrong now - it should default to whatever it was previously set to,
> >
>
> It was in my original proposal before you suggested to create
> open/close commands.
>
>
> > this allows setting a non-default dest while disabling the site:
> > echo class DRM_UT_CORE -T:core-log > /proc/dynamic_debug/control
> >
> > then just enabling it later, to use the preset dest
> > echo class DRM_UT_CORE +T > /proc/dynamic_debug/control
> > or more likely:
> > echo 0x01 > /sys/module/drm/parameters/debug_trace
> >
> > this way, debug_trace is just like debug, but still can write to the
> > separate trace-instances
> >
>
> Ack, I also clarified my suggestion related to this topic in patch 11.
>
to reiterate and add context:
echo 0x01 > /sys/module/drm/parameters/debug
is the legacy way of enabling DRM_UT_CORE logging.
in CONFIG_DRM_USE_DYNAMIC_DEBUG=y builds,
this uses classmaps, but controls only the +p flag.
echo 0x01 > /sys/module/drm/parameters/debug_trace
doesnt exist yet, but is simple to add with the classmap impl.
this legacy interface cannot handle private trace-instances.
only >control can do that.
ISTM thats fine.
Powered by blists - more mailing lists