Re: [re: PATCH v2 00/15 - 05/11] dyndbg: change +T:name_terminator to dot

From: Łukasz Bartosik
Date: Mon Jan 08 2024 - 07:22:30 EST


czw., 4 sty 2024 o 08:54 Petr Mladek <pmladek@xxxxxxxx> napisał(a):
>
> On Thu 2023-12-21 16:21:49, Łukasz Bartosik wrote:
> > pon., 18 gru 2023 o 18:29 Petr Mladek <pmladek@xxxxxxxx> napisał(a):
> > >
> > > On Thu 2023-12-07 17:15:08, Jim Cromie wrote:
> > > > This replaces ',' with '.' as the char that ends the +T:name.
> > > >
> > > > This allows a later patch to treat ',' as a space, which mostly
> > > > eliminates the need to quote query/rules. And this in turn avoids
> > > > quoting hassles:
> > > >
> > > > modprobe test_dynamic_debug dyndbg=class,D2_CORE,+p
> > > >
> > > > It is particularly good for passing boot-args into test-scripts.
> > > >
> > > > vng -p 4 -v \
> > > > -a test_dynamic_debug.dyndbg=class,D2_CORE,+p
> > >
> > > Could you please add example how it looked before and after?
> >
> > Before a user had to issue a command in the format
> > modprobe test_dynamic_debug dyndbg="class D2_CORE +p"
> >
> > Now a use can use either
> > modprobe test_dynamic_debug dyndbg="class D2_CORE +p"
> > or
> > modprobe test_dynamic_debug dyndbg=class,D2_CORE,+p
>
> I see. This was not clear to me. Please, mention it in
> the commit message.
>

In the patchset v3 I squashed "dyndbg: change +T:name_terminator to
dot" with "dyndbg: add processing of T(race) flag argument" but I will
clarify this topic in the "dyndbg: treat comma as a token separator"

> That said, I am not sure if it is worth it and if it
> is a good idea. Supporting more formats adds complexity
> and confusion. It is the reason why people hate perl.
>
> I agree that quoting in scripts is complicated. Well,
> a sane approach is to use quotes everywhere where possible.
>
> If a script works correctly only with class,D2_CORE,+p
> and breaks with "class D2_CORE +p" then it is a ticking
> bomb. People might try to use "class D2_CORE +p"
> one day because they would cut&paste the string
> from the internet.
>

Addition of new format of dynamic debug queries does not obsolete the
existing format.

> > > Is this format documented somewhere?
> > > Will the documentation get updated?
> >
> > Documentation will be updated.
> >
> > > Could it break existing scripts? [*]
> >
> > It should not break any scripts as this change does not change the
> > interface but extends it.
> >
> > > The dynamic debug interface is really hard to use for me
> > > as an occasional user. I always have to look into
> > > Documentation/admin-guide/dynamic-debug-howto.rst
> > >
> > > Anyway, there should be a good reason to change the interface.
> > > And the exaplantion:
> > >
> > > "Let's use '.' instead of ',' so that we could later
> > > treat ',' as space"
> > >
> > > sounds scarry. It does not explain what is the advantage at all.
> > >
> > I will clarify in the commit message that this change allows to use
> > two formats either
> > modprobe test_dynamic_debug dyndbg="class D2_CORE +p"
> > or
> > modprobe test_dynamic_debug dyndbg=class,D2_CORE,+p
>
> But the patch replaces ',' with '.'. It looks like it modifies
> some existing syntax.
>
> Note that I am not familiar with this code. And I even do not see
> the patched function in the current Linus' tree.
>

Next patchset will include updated dynamic debug documentation.
Hopefully this will help to resolve doubts.

Regards,
Lukasz

> Best Regards,
> Petr
>