16.04.2020 19:51, Linus Walleij пишет: > On Thu, Apr 16, 2020 at 4:45 PM Dmitry Osipenko <digetx@xxxxxxxxx> wrote: >> 16.04.2020 14:33, Linus Walleij пишет: > >>> This misses some important aspects of dev_dbg(), notably this: >>> >>> #if defined(CONFIG_DYNAMIC_DEBUG) >>> #define dev_dbg(dev, fmt, ...) \ >>> dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) >>> #elif defined(DEBUG) >>> #define dev_dbg(dev, fmt, ...) \ >>> dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__) >>> #else >>> #define dev_dbg(dev, fmt, ...) \ >>> ({ \ >>> if (0) \ >>> dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \ >>> }) >>> #endif >>> >>> If DEBUG is not defined the entire dev_dbg() message is enclodes in if (0) >>> and compiled out of the kernel, saving space. The above does not >>> fulfil that. >> >> Hello Linus, >> >> After some recent discussions in regards to the EPROBE_DEFER handling, >> Thierry Reding suggested the form which is used in my patch and we >> started to use it recently in the Tegra DRM driver [1]. The reason is >> that we don't want to miss any deferred-probe messages under any >> circumstances, for example like in a case of a disabled DYNAMIC_DEBUG. > > I have a hard time to accept this reasoning. > > Who doesn't feel that way about their subsystem? If you don't want > to miss the message under any circumstances then use dev_info(). > Don't override the default behaviour of dev_dbg(). > >> The debug messages are usually disabled in a release-build and when not >> a very experienced person hands you KMSG for diagnosing a problem, the >> KMSG is pretty much useless if error is hidden silently. > > So use dev_info(). > >> By moving the message to a debug level, we reduce the noise in the KMSG >> because usually people look for a bold-red error messages. Secondly, we >> don't introduce an additional overhead to the kernel size since the same >> text is reused for all error conditions. > > dev_info() is not supposed to be an error message, it is supposed to > be information, so use that. Okay, I'll make a v2. Thank you for the review.