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

From: Tetsuo Handa
Date: Thu May 28 2020 - 07:33:58 EST


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 ?

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.