Re: [PATCH] twist: allow converting pr_devel()/pr_debug() into printk(KERN_DEBUG)

From: Petr Mladek
Date: Thu May 28 2020 - 08:15:01 EST


On Thu 2020-05-28 20:33:10, Tetsuo Handa wrote:
> On 2020/05/28 19:59, Petr Mladek wrote:
> > 2. Add twist into vprintk_store(). In the current, implementation
> > it would do:
> >
> > #if TWIST
> > return text_len;
> > #endif
> >
> > return log_output(facility, level, lflags,
> > dict, dictlen, text, text_len);
>
> This part could be possible. But
>
> > 1. Add twist into ddebug_add_module() and enable all newly added
> > entries by default. For example, by calling
> > ddebug_exec_query("*:+p", const char *modname) or what is the syntax.
> >
> > This will cause that any pr_devel() variant will always get called.
>
> how to handle
>
> >> #define no_printk(fmt, ...) \
> >> ({ \
> >> if (0) \
> >> printk(fmt, ##__VA_ARGS__); \
> >> 0; \
> >> })
>
> part used by e.g. pr_devel() ? Since this macro is not using dynamic debug
> interface, vprintk_store() will not be called from the beginning. Are you
> suggesting that we should convert no_printk() to use dynamic debug interface ?

OK, this is one more path that would need special handling. Two paths
are much better than 15.


> I don't know whether enabling only in linux-next makes sense. Since not all tests
> are equally done on each git tree, available only in linux-next will not be able
> to cover all callers. Just using CONFIG_TWIST_ALWAYS_EVALUATE_PRINTK_ARGUMENTS=y
> and CONFIG_DYNAMIC_DEBUG=n is the simplest.

I hope that tests done on linux-next would be enough to trigger some
bugs. If you do not see problems in linux-next then this twist
probably is not worth the effort and code complications.

Best Regards,
Petr