Hi!
Commit 346e15beb5343c2eb8216d820f2ed8f150822b08 ("driver core: basic
infrastructure for per-module dynamic debug messages") removed
"dynamic_printk" kernel parameter from the dynamic debugging subsystem
(and forgot to update Documentation/kernel-parameters.txt). How can I
use the new subsystem for enabling boot-time dev_dbg() calls for
non-modular kernels?
Pekka
On Sun, Aug 01, 2010 at 03:10:40PM +0300, Pekka Enberg wrote:
> Hi!
>
> Commit 346e15beb5343c2eb8216d820f2ed8f150822b08 ("driver core: basic
> infrastructure for per-module dynamic debug messages") removed
> "dynamic_printk" kernel parameter from the dynamic debugging subsystem
> (and forgot to update Documentation/kernel-parameters.txt). How can I
> use the new subsystem for enabling boot-time dev_dbg() calls for
> non-modular kernels?
>
> Pekka
Hi Pekka,
Right now, you can not enable them dynamically from the boot command
line (only via the debugfs file). However, Thomas Renninger, has posted
a series to add back the boot-time functionality, see:
Subject: [patch 0/3] Dynamic Debug providing early boot debug messages via
boot parameter
http://marc.info/?l=linux-kernel&m=127970474426120&w=2
So I intend to queue those up for 2.6.36, and also update the
documentation.
thanks,
-Jason
> On Sun, Aug 01, 2010 at 03:10:40PM +0300, Pekka Enberg wrote:
>> Commit 346e15beb5343c2eb8216d820f2ed8f150822b08 ("driver core: basic
>> infrastructure for per-module dynamic debug messages") removed
>> "dynamic_printk" kernel parameter from the dynamic debugging subsystem
>> (and forgot to update Documentation/kernel-parameters.txt). How can I
>> use the new subsystem for enabling boot-time dev_dbg() calls for
>> non-modular kernels?
On Mon, Aug 2, 2010 at 4:47 PM, Jason Baron <[email protected]> wrote:
> Right now, you can not enable them dynamically from the boot command
> line (only via the debugfs file). However, Thomas Renninger, has posted
> a series to add back the boot-time functionality, see:
>
> Subject: ? ?[patch 0/3] Dynamic Debug providing early boot debug messages via
> boot parameter
> http://marc.info/?l=linux-kernel&m=127970474426120&w=2
>
> So I intend to queue those up for 2.6.36, and also update the
> documentation.
Oh, great!
Acked-by: Pekka Enberg <[email protected]>
Btw, can you easily enable all dev_dbg() calls with the boot parameter?
On Monday 02 August 2010 15:53:24 Pekka Enberg wrote:
> > On Sun, Aug 01, 2010 at 03:10:40PM +0300, Pekka Enberg wrote:
> >> Commit 346e15beb5343c2eb8216d820f2ed8f150822b08 ("driver core: basic
> >> infrastructure for per-module dynamic debug messages") removed
> >> "dynamic_printk" kernel parameter from the dynamic debugging subsystem
> >> (and forgot to update Documentation/kernel-parameters.txt). How can I
> >> use the new subsystem for enabling boot-time dev_dbg() calls for
> >> non-modular kernels?
>
> On Mon, Aug 2, 2010 at 4:47 PM, Jason Baron <[email protected]> wrote:
> > Right now, you can not enable them dynamically from the boot command
> > line (only via the debugfs file). However, Thomas Renninger, has posted
> > a series to add back the boot-time functionality, see:
> >
> > Subject: [patch 0/3] Dynamic Debug providing early boot debug messages via
> > boot parameter
> > http://marc.info/?l=linux-kernel&m=127970474426120&w=2
> >
> > So I intend to queue those up for 2.6.36, and also update the
> > documentation.
>
> Oh, great!
>
> Acked-by: Pekka Enberg <[email protected]>
Thanks.
>
> Btw, can you easily enable all dev_dbg() calls with the boot parameter?
I expect yes, but never explicitly tried it, dev_dbg should result in
printk(KERN_DEBUG ...) after some macro/inline func processing.
Be aware that I sent another neat ddebug functionality:
Subject on LKML: [PATCH] Dynamic Debug: Introduce global fake module param module.ddebug
If, take the second post (same mail thread) which is the same patch
with some documentation added.
It's based on top of the patchseries mentioned above.
Would be great if someone could pick it up as well.
I was not sure about the fact that drivers must not use ddebug as parameter
anymore with this patch and how to document that, quick review and/or
comments appreciated.
Thanks,
Thomas
On Monday 02 August 2010 16:13:59 Thomas Renninger wrote:
> On Monday 02 August 2010 15:53:24 Pekka Enberg wrote:
...
> > Btw, can you easily enable all dev_dbg() calls with the boot parameter?
> I expect yes, but never explicitly tried it, dev_dbg should result in
> printk(KERN_DEBUG ...) after some macro/inline func processing.
My statement was wrong, from what I can see having a closer look:
printk(KERN_DEBUG...) messages will not show up, but dev_dbg will:
----------
asmlinkage int printk(const char * fmt, ...)
__attribute__ ((format (printf, 1, 2))) __cold;
static inline int printk(const char *s, ...)
__attribute__ ((format (printf, 1, 2)));
----------
I wonder whether the KERN_DEBUG can be differed at compile time
and could also result in a dynamic_pr_debug...
----------
#elif defined(CONFIG_DYNAMIC_DEBUG)
/* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
#define pr_debug(fmt, ...) \
dynamic_pr_debug(fmt, ##__VA_ARGS__)
#elif defined(CONFIG_DYNAMIC_DEBUG)
#define dev_dbg(dev, format, ...) \
do { \
dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \
}
----------
Thomas