* loglevel 7 (debug) and pr_debug()
@ 2014-04-16 8:43 Martin Kepplinger
2014-04-16 9:00 ` Arun KS
0 siblings, 1 reply; 10+ messages in thread
From: Martin Kepplinger @ 2014-04-16 8:43 UTC (permalink / raw)
To: kernelnewbies
I'm on Debian here and I don't really get pr_debug and printk(KERN_DEBUG
...). Let's stick to pr_debug.
I have DYNAMIC_DEBUG enabled and
root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
7 7 1 7
I write a module with pr_debug's. I load the module and I *don't* see
anything in /var/log/messages (or anywhere in /var/log/* ). Adding
#define DEBUG doesn't help.
/sys/kernel/debug/dynamic_debug/control has the pr_debug entries I use
in my loaded module.
In short: How do I see debug log messages? Using pr_info() works as
expected. What am I missing? Do I need to edit my Makefile?
thanks!
martin
--
Martin Kepplinger
e-mail martink AT posteo DOT at
chat (XMPP) martink AT jabber DOT at
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 8:43 loglevel 7 (debug) and pr_debug() Martin Kepplinger
@ 2014-04-16 9:00 ` Arun KS
2014-04-16 9:16 ` Martin Kepplinger
0 siblings, 1 reply; 10+ messages in thread
From: Arun KS @ 2014-04-16 9:00 UTC (permalink / raw)
To: kernelnewbies
Hi Martin,
On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger <martink@posteo.de> wrote:
> I'm on Debian here and I don't really get pr_debug and printk(KERN_DEBUG
> ...). Let's stick to pr_debug.
>
> I have DYNAMIC_DEBUG enabled and
> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
> 7 7 1 7
This shows the console log level.
This file controls the traffic to console. But all the log messages
will be present in logbuf.
>
> I write a module with pr_debug's. I load the module and I *don't* see
> anything in /var/log/messages (or anywhere in /var/log/* ). Adding
> #define DEBUG doesn't help.
>
> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries I use
> in my loaded module.
>
> In short: How do I see debug log messages? Using pr_info() works as
> expected. What am I missing? Do I need to edit my Makefile?
Did you enable dynamic printing for your file?
Below command enables dynamic printing for file sdhci.c.
echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
Thanks,
Arun
>
> thanks!
> martin
>
> --
> Martin Kepplinger
> e-mail martink AT posteo DOT at
> chat (XMPP) martink AT jabber DOT at
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 9:00 ` Arun KS
@ 2014-04-16 9:16 ` Martin Kepplinger
2014-04-16 9:58 ` Arun KS
0 siblings, 1 reply; 10+ messages in thread
From: Martin Kepplinger @ 2014-04-16 9:16 UTC (permalink / raw)
To: kernelnewbies
Am 2014-04-16 11:00, schrieb Arun KS:
> Hi Martin,
>
> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger <martink@posteo.de> wrote:
>> I'm on Debian here and I don't really get pr_debug and printk(KERN_DEBUG
>> ...). Let's stick to pr_debug.
>>
>> I have DYNAMIC_DEBUG enabled and
>> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
>> 7 7 1 7
> This shows the console log level.
> This file controls the traffic to console. But all the log messages
> will be present in logbuf.
How do I view debug messages from logbuf?
>
>>
>> I write a module with pr_debug's. I load the module and I *don't* see
>> anything in /var/log/messages (or anywhere in /var/log/* ). Adding
>> #define DEBUG doesn't help.
>>
>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries I use
>> in my loaded module.
>>
>> In short: How do I see debug log messages? Using pr_info() works as
>> expected. What am I missing? Do I need to edit my Makefile?
> Did you enable dynamic printing for your file?
>
> Below command enables dynamic printing for file sdhci.c.
> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
well. I tried that. The thing is, the pr_debug() symbols are in
"control" only after "insmod my_module". Then I can echo -n 'file
my_mobule.c +p' > control
But my pr_debug() messages get printed directly after insmod, basically
in my module_init function. Enabling my file doesn't output anything in
/var/log/*
>
>
> Thanks,
> Arun
>>
>> thanks!
>> martin
>>
>> --
>> Martin Kepplinger
>> e-mail martink AT posteo DOT at
>> chat (XMPP) martink AT jabber DOT at
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 9:16 ` Martin Kepplinger
@ 2014-04-16 9:58 ` Arun KS
2014-04-16 11:11 ` Martin Kepplinger
0 siblings, 1 reply; 10+ messages in thread
From: Arun KS @ 2014-04-16 9:58 UTC (permalink / raw)
To: kernelnewbies
Hi Martin,
On Wed, Apr 16, 2014 at 2:46 PM, Martin Kepplinger <martink@posteo.de>
wrote:
> Am 2014-04-16 11:00, schrieb Arun KS:
>> Hi Martin,
>>
>> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger <martink@posteo.de>
wrote:
>>> I'm on Debian here and I don't really get pr_debug and printk(KERN_DEBUG
>>> ...). Let's stick to pr_debug.
>>>
>>> I have DYNAMIC_DEBUG enabled and
>>> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
>>> 7 7 1 7
>> This shows the console log level.
>> This file controls the traffic to console. But all the log messages
>> will be present in logbuf.
>
> How do I view debug messages from logbuf?
>
>>
>>>
>>> I write a module with pr_debug's. I load the module and I *don't* see
>>> anything in /var/log/messages (or anywhere in /var/log/* ). Adding
>>> #define DEBUG doesn't help.
>>>
>>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries I use
>>> in my loaded module.
>>>
>>> In short: How do I see debug log messages? Using pr_info() works as
>>> expected. What am I missing? Do I need to edit my Makefile?
>> Did you enable dynamic printing for your file?
>>
>> Below command enables dynamic printing for file sdhci.c.
>> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
>
> well. I tried that. The thing is, the pr_debug() symbols are in
> "control" only after "insmod my_module". Then I can echo -n 'file
> my_mobule.c +p' > control
> But my pr_debug() messages get printed directly after insmod, basically
> in my module_init function. Enabling my file doesn't output anything in
> /var/log/*
So now you know why your pr_debug is absent in logbuf.
You can make your module as a built in and use bootargs.
eg:
dyndbg="file your_filename.c +p"
Thanks,
Arun
>
>>
>>
>> Thanks,
>> Arun
>>>
>>> thanks!
>>> martin
>>>
>>> --
>>> Martin Kepplinger
>>> e-mail martink AT posteo DOT at
>>> chat (XMPP) martink AT jabber DOT at
>>>
>>> _______________________________________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies at kernelnewbies.org
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140416/a8e4198a/attachment.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 9:58 ` Arun KS
@ 2014-04-16 11:11 ` Martin Kepplinger
2014-04-16 11:43 ` Denis Pithon
0 siblings, 1 reply; 10+ messages in thread
From: Martin Kepplinger @ 2014-04-16 11:11 UTC (permalink / raw)
To: kernelnewbies
Am 16.04.2014 11:58 schrieb Arun KS:
> Hi Martin,
>
> On Wed, Apr 16, 2014 at 2:46 PM, Martin Kepplinger <martink@posteo.de>
> wrote:
>> Am 2014-04-16 11:00, schrieb Arun KS:
>>> Hi Martin,
> >>
>>> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger
>>> <martink@posteo.de> wrote:
>>>> I'm on Debian here and I don't really get pr_debug and
>>>> printk(KERN_DEBUG
> >>> ...). Let's stick to pr_debug.
>>>>
>>>> I have DYNAMIC_DEBUG enabled and
>>>> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
>>>> 7 ? ? ? 7 ? ? ? 1 ? ? ? 7
> >> This shows the console log level.
>>> This file controls the traffic to console. But all the log messages
>>> will be present in logbuf.
>>
>> How do I view debug messages from logbuf?
> >
>>>
>>>>
>>>> I write a module with pr_debug's. I load the module and I *don't*
>>>> see
>>>> anything in /var/log/messages (or anywhere in /var/log/* ). Adding
>>>> #define DEBUG doesn't help.
> >>>
>>>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries I
>>>> use
>>>> in my loaded module.
>>>>
>>>> In short: How do I see debug log messages? Using pr_info() works as
> >>> expected. What am I missing? Do I need to edit my Makefile?
>>> Did you enable dynamic printing for your file?
>>>
>>> Below command enables dynamic printing for file sdhci.c.
>>> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
> >
>> well. I tried that. The thing is, the pr_debug() symbols are in
>> "control" only after "insmod my_module". Then I can echo -n 'file
>> my_mobule.c +p' > control
>> But my pr_debug() messages get printed directly after insmod,
>> basically
> > in my module_init function. Enabling my file doesn't output
> anything in
>> /var/log/*
> So now you know why your pr_debug is absent in logbuf.
>
> You can make your module as a built in and use bootargs.
>
> eg:
> dyndbg="file your_filename.c +p"
>
> Thanks,
> Arun
>
So it's *not* possible at all to get pr_debug() messages just like
pr_info() messages?
Of what I've read, I assumed pr_debug() is just loglevel 7.
thanks for your help!
>>
>>>
>>>
>>> Thanks,
>>> Arun
>>>>
>>>> thanks!
>>>> ? ? ? ? ? ? ? ? ? ? ?martin
> >>>
>>>> --
>>>> Martin Kepplinger
>>>> e-mail ? ? ? ?martink AT posteo DOT at
>>>> chat (XMPP) ? martink AT jabber DOT at
>>>>
>>>> _______________________________________________
> >>> Kernelnewbies mailing list
>>>> Kernelnewbies at kernelnewbies.org
>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>
>>> _______________________________________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies at kernelnewbies.org
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>
>>
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
>
> Links:
> ------
> [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 11:11 ` Martin Kepplinger
@ 2014-04-16 11:43 ` Denis Pithon
2014-04-16 11:57 ` Martin Kepplinger
0 siblings, 1 reply; 10+ messages in thread
From: Denis Pithon @ 2014-04-16 11:43 UTC (permalink / raw)
To: kernelnewbies
Martin,
I'm not sure did you enable DDEBUG when compiling your module ?
pr_debug() macro is discarded if you omit DEBUG in compile time
A sample Makefile which enable pr_debug() :
obj-m += my_modue.o
KDIR ?= /lib/modules/`uname -r`/build
CFLAGS_my_module.o := -DDEBUG
all:
make -C $(KDIR) M=$(PWD) modules
clean:
make -C $(KDIR) M=$(PWD) clean
Let me know ...
regards
On Wed, Apr 16, 2014 at 1:11 PM, Martin Kepplinger <martink@posteo.de>wrote:
> Am 16.04.2014 11:58 schrieb Arun KS:
> > Hi Martin,
> >
> > On Wed, Apr 16, 2014 at 2:46 PM, Martin Kepplinger <martink@posteo.de>
> > wrote:
> >> Am 2014-04-16 11:00, schrieb Arun KS:
> >>> Hi Martin,
> > >>
> >>> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger
> >>> <martink@posteo.de> wrote:
> >>>> I'm on Debian here and I don't really get pr_debug and
> >>>> printk(KERN_DEBUG
> > >>> ...). Let's stick to pr_debug.
> >>>>
> >>>> I have DYNAMIC_DEBUG enabled and
> >>>> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
> >>>> 7 7 1 7
> > >> This shows the console log level.
> >>> This file controls the traffic to console. But all the log messages
> >>> will be present in logbuf.
> >>
> >> How do I view debug messages from logbuf?
> > >
> >>>
> >>>>
> >>>> I write a module with pr_debug's. I load the module and I *don't*
> >>>> see
> >>>> anything in /var/log/messages (or anywhere in /var/log/* ). Adding
> >>>> #define DEBUG doesn't help.
> > >>>
> >>>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries I
> >>>> use
> >>>> in my loaded module.
> >>>>
> >>>> In short: How do I see debug log messages? Using pr_info() works as
> > >>> expected. What am I missing? Do I need to edit my Makefile?
> >>> Did you enable dynamic printing for your file?
> >>>
> >>> Below command enables dynamic printing for file sdhci.c.
> >>> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
> > >
> >> well. I tried that. The thing is, the pr_debug() symbols are in
> >> "control" only after "insmod my_module". Then I can echo -n 'file
> >> my_mobule.c +p' > control
> >> But my pr_debug() messages get printed directly after insmod,
> >> basically
> > > in my module_init function. Enabling my file doesn't output
> > anything in
> >> /var/log/*
> > So now you know why your pr_debug is absent in logbuf.
> >
> > You can make your module as a built in and use bootargs.
> >
> > eg:
> > dyndbg="file your_filename.c +p"
> >
> > Thanks,
> > Arun
> >
>
> So it's *not* possible at all to get pr_debug() messages just like
> pr_info() messages?
> Of what I've read, I assumed pr_debug() is just loglevel 7.
>
> thanks for your help!
>
> >>
> >>>
> >>>
> >>> Thanks,
> >>> Arun
> >>>>
> >>>> thanks!
> >>>> martin
> > >>>
> >>>> --
> >>>> Martin Kepplinger
> >>>> e-mail martink AT posteo DOT at
> >>>> chat (XMPP) martink AT jabber DOT at
> >>>>
> >>>> _______________________________________________
> > >>> Kernelnewbies mailing list
> >>>> Kernelnewbies at kernelnewbies.org
> >>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> > >>
> >>> _______________________________________________
> >>> Kernelnewbies mailing list
> >>> Kernelnewbies at kernelnewbies.org
> >>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> > >>
> >>
> >>
> >> _______________________________________________
> >> Kernelnewbies mailing list
> >> Kernelnewbies at kernelnewbies.org
> >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >
> > Links:
> > ------
> > [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140416/97152030/attachment-0001.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 11:43 ` Denis Pithon
@ 2014-04-16 11:57 ` Martin Kepplinger
2014-04-16 12:29 ` Arun KS
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Martin Kepplinger @ 2014-04-16 11:57 UTC (permalink / raw)
To: kernelnewbies
Am 16.04.2014 13:43 schrieb Denis Pithon:
> Martin,
>
> I'm not sure did you enable DDEBUG when compiling your module ?
> pr_debug() macro is discarded if you omit DEBUG in compile time
>
> A sample Makefile which enable pr_debug() :
>
> obj-m += my_modue.o
>
> KDIR ?= /lib/modules/`uname -r`/build
> CFLAGS_my_module.o := -DDEBUG
>
> all:
> make -C $(KDIR) M=$(PWD) modules
>
> clean:
> make -C $(KDIR) M=$(PWD) clean
>
> Let me know ...
> regards
Thanks,
I did not, but now added -DDEBUG. The exact line is:
CFLAGS_my_module.o := -DDEBUG
when "my_module.o" is my object file. Did I get that right?
That doesn't change anything unfortunately. I can not read pr_debug()
unless I
explicitely activate it in /sys/kernel/debug/dynamic_debug/control
*after* insmod.
I'd like to just read all pr_debug() messages like pr_info().
thanks for your time!
>
> On Wed, Apr 16, 2014 at 1:11 PM, Martin Kepplinger <martink@posteo.de>
> wrote:
>
>> Am 16.04.2014 11:58 schrieb Arun KS:
>>
>>> Hi Martin,
>>>
>>> On Wed, Apr 16, 2014 at 2:46 PM, Martin Kepplinger
>>> <martink@posteo.de>
>>> wrote:
>>>> Am 2014-04-16 11:00, schrieb Arun KS:
>>>>> Hi Martin,
>>> ?>>
>>>>> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger
>>>>> <martink@posteo.de> wrote:
>>>>>> I'm on Debian here and I don't really get pr_debug and
>>>>>> printk(KERN_DEBUG
>>> ?>>> ...). Let's stick to pr_debug.
>>>>>>
>>>>>> I have DYNAMIC_DEBUG enabled and
>>>>>> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
>>>>>> 7 ? ? ? 7 ? ? ? 1 ? ? ? 7
>>> ?>> This shows the console log level.
>>>>> This file controls the traffic to console. But all the log
>>>>> messages
>>>>> will be present in logbuf.
>>>>
>>>> How do I view debug messages from logbuf?
>>> ?>
>>>>>
>>>>>>
>>>>>> I write a module with pr_debug's. I load the module and I *don't*
>>>>>> see
>>>>>> anything in /var/log/messages (or anywhere in /var/log/* ).
>>>>>> Adding
>>>>>> #define DEBUG doesn't help.
>>> ?>>>
>>>>>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries
>>>>>> I
>>>>>> use
>>>>>> in my loaded module.
>>>>>>
>>>>>> In short: How do I see debug log messages? Using pr_info() works
>>>>>> as
>>> ?>>> expected. What am I missing? Do I need to edit my Makefile?
>>>>> Did you enable dynamic printing for your file?
>>>>>
>>>>> Below command enables dynamic printing for file sdhci.c.
>>>>> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
>>> ?>
>>>> well. I tried that. The thing is, the pr_debug() symbols are in
>>>> "control" only after "insmod my_module". Then I can echo -n 'file
>>>> my_mobule.c +p' > control
>>>> But my pr_debug() messages get printed directly after insmod,
>>>> basically
>>> ?> in my module_init function. Enabling my file doesn't output
>>> anything in
>>>> /var/log/*
>>> So now you know why your pr_debug is absent in logbuf.
>>>
>>> You can make your module as a built in and use bootargs.
>>>
>>> eg:
>>> dyndbg="file your_filename.c +p"
>>>
>>> Thanks,
>>> Arun
>>>
>>
>> So it's *not* possible at all to get pr_debug() messages just like
>> pr_info() messages?
>> Of what I've read, I assumed pr_debug() is just loglevel 7.
>>
>> thanks for your help!
>>
>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Arun
>>>>>>
>>>>>> thanks!
>>>>>> ? ? ? ? ? ? ? ? ? ? ?martin
>>> ?>>>
>>>>>> --
>>>>>> Martin Kepplinger
>>>>>> e-mail ? ? ? ?martink AT posteo DOT at
>>>>>> chat (XMPP) ? martink AT jabber DOT at
>>>>>>
>>>>>> _______________________________________________
>>> ?>>> Kernelnewbies mailing list
>>>>>> Kernelnewbies at kernelnewbies.org
>>>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
>>>>>> [1]
>>
>>> ?>>
>>>>> _______________________________________________
>>>>> Kernelnewbies mailing list
>>>>> Kernelnewbies at kernelnewbies.org
>>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
>>>>> [1]
>>
>>> ?>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Kernelnewbies mailing list
>>>> Kernelnewbies at kernelnewbies.org
>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
>>>> [1]
>>>
>>> Links:
>>> ------
>>> [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>> [1]
>>
>>>
>>> _______________________________________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies at kernelnewbies.org
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
>
>
>
> Links:
> ------
> [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 11:57 ` Martin Kepplinger
@ 2014-04-16 12:29 ` Arun KS
2014-04-16 12:30 ` Valdis.Kletnieks at vt.edu
2014-04-16 12:37 ` Denis Pithon
2 siblings, 0 replies; 10+ messages in thread
From: Arun KS @ 2014-04-16 12:29 UTC (permalink / raw)
To: kernelnewbies
Hello Martin and Dennis,
On Wed, Apr 16, 2014 at 5:27 PM, Martin Kepplinger <martink@posteo.de>wrote:
> Am 16.04.2014 13:43 schrieb Denis Pithon:
> > Martin,
> >
> > I'm not sure did you enable DDEBUG when compiling your module ?
> > pr_debug() macro is discarded if you omit DEBUG in compile time
> >
> > A sample Makefile which enable pr_debug() :
> >
> > obj-m += my_modue.o
> >
> > KDIR ?= /lib/modules/`uname -r`/build
> > CFLAGS_my_module.o := -DDEBUG
> >
> > all:
> > make -C $(KDIR) M=$(PWD) modules
> >
> > clean:
> > make -C $(KDIR) M=$(PWD) clean
> >
> > Let me know ...
> > regards
>
> Thanks,
>
> I did not, but now added -DDEBUG. The exact line is:
> CFLAGS_my_module.o := -DDEBUG
> when "my_module.o" is my object file. Did I get that right?
>
> That doesn't change anything unfortunately. I can not read pr_debug()
> unless I
> explicitely activate it in /sys/kernel/debug/dynamic_debug/control
> *after* insmod.
>
Adding -DDEBUG will not change anything if CONFIG_DYNAMIC_DEBUG is defined
in your .config
The reason is because CONFIG_DYNAMIC_DEBUG has priority over DEBUG.
File:include/linux/printk.h
--------------------------stripped-------------------------------
#if 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(DEBUG)
#define pr_debug(fmt, ...) \
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#else
#define pr_debug(fmt, ...) \
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#endif
--------------------------stripped-------------------------------
So the quick way is to disable CONFIG_DYNAMIC_DEBUG and add -DDEBUG in your
makefile.
Thanks,
Arun
>
> I'd like to just read all pr_debug() messages like pr_info().
>
> thanks for your time!
>
> >
> > On Wed, Apr 16, 2014 at 1:11 PM, Martin Kepplinger <martink@posteo.de>
> > wrote:
> >
> >> Am 16.04.2014 11:58 schrieb Arun KS:
> >>
> >>> Hi Martin,
> >>>
> >>> On Wed, Apr 16, 2014 at 2:46 PM, Martin Kepplinger
> >>> <martink@posteo.de>
> >>> wrote:
> >>>> Am 2014-04-16 11:00, schrieb Arun KS:
> >>>>> Hi Martin,
> >>> >>
> >>>>> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger
> >>>>> <martink@posteo.de> wrote:
> >>>>>> I'm on Debian here and I don't really get pr_debug and
> >>>>>> printk(KERN_DEBUG
> >>> >>> ...). Let's stick to pr_debug.
> >>>>>>
> >>>>>> I have DYNAMIC_DEBUG enabled and
> >>>>>> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
> >>>>>> 7 7 1 7
> >>> >> This shows the console log level.
> >>>>> This file controls the traffic to console. But all the log
> >>>>> messages
> >>>>> will be present in logbuf.
> >>>>
> >>>> How do I view debug messages from logbuf?
> >>> >
> >>>>>
> >>>>>>
> >>>>>> I write a module with pr_debug's. I load the module and I *don't*
> >>>>>> see
> >>>>>> anything in /var/log/messages (or anywhere in /var/log/* ).
> >>>>>> Adding
> >>>>>> #define DEBUG doesn't help.
> >>> >>>
> >>>>>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries
> >>>>>> I
> >>>>>> use
> >>>>>> in my loaded module.
> >>>>>>
> >>>>>> In short: How do I see debug log messages? Using pr_info() works
> >>>>>> as
> >>> >>> expected. What am I missing? Do I need to edit my Makefile?
> >>>>> Did you enable dynamic printing for your file?
> >>>>>
> >>>>> Below command enables dynamic printing for file sdhci.c.
> >>>>> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
> >>> >
> >>>> well. I tried that. The thing is, the pr_debug() symbols are in
> >>>> "control" only after "insmod my_module". Then I can echo -n 'file
> >>>> my_mobule.c +p' > control
> >>>> But my pr_debug() messages get printed directly after insmod,
> >>>> basically
> >>> > in my module_init function. Enabling my file doesn't output
> >>> anything in
> >>>> /var/log/*
> >>> So now you know why your pr_debug is absent in logbuf.
> >>>
> >>> You can make your module as a built in and use bootargs.
> >>>
> >>> eg:
> >>> dyndbg="file your_filename.c +p"
> >>>
> >>> Thanks,
> >>> Arun
> >>>
> >>
> >> So it's *not* possible at all to get pr_debug() messages just like
> >> pr_info() messages?
> >> Of what I've read, I assumed pr_debug() is just loglevel 7.
> >>
> >> thanks for your help!
> >>
> >>>>
> >>>>>
> >>>>>
> >>>>> Thanks,
> >>>>> Arun
> >>>>>>
> >>>>>> thanks!
> >>>>>> martin
> >>> >>>
> >>>>>> --
> >>>>>> Martin Kepplinger
> >>>>>> e-mail martink AT posteo DOT at
> >>>>>> chat (XMPP) martink AT jabber DOT at
> >>>>>>
> >>>>>> _______________________________________________
> >>> >>> Kernelnewbies mailing list
> >>>>>> Kernelnewbies at kernelnewbies.org
> >>>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>>>>> [1]
> >>
> >>> >>
> >>>>> _______________________________________________
> >>>>> Kernelnewbies mailing list
> >>>>> Kernelnewbies at kernelnewbies.org
> >>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>>>> [1]
> >>
> >>> >>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Kernelnewbies mailing list
> >>>> Kernelnewbies at kernelnewbies.org
> >>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>>> [1]
> >>>
> >>> Links:
> >>> ------
> >>> [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >>> [1]
> >>
> >>>
> >>> _______________________________________________
> >>> Kernelnewbies mailing list
> >>> Kernelnewbies at kernelnewbies.org
> >>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>
> >> _______________________________________________
> >> Kernelnewbies mailing list
> >> Kernelnewbies at kernelnewbies.org
> >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >
> >
> >
> > Links:
> > ------
> > [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140416/2c7ededd/attachment.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 11:57 ` Martin Kepplinger
2014-04-16 12:29 ` Arun KS
@ 2014-04-16 12:30 ` Valdis.Kletnieks at vt.edu
2014-04-16 12:37 ` Denis Pithon
2 siblings, 0 replies; 10+ messages in thread
From: Valdis.Kletnieks at vt.edu @ 2014-04-16 12:30 UTC (permalink / raw)
To: kernelnewbies
On Wed, 16 Apr 2014 13:57:07 +0200, Martin Kepplinger said:
> I'd like to just read all pr_debug() messages like pr_info().
Did you consider, um, I don't know? Just building a kernel that
doesn't have CONFIG_DYNAMIC_DEBUG turned on?
Or you could read Documentation/dynamic-debug-howto.txt, and find this:
Debug Messages at Module Initialization Time
============================================
When "modprobe foo" is called, modprobe scans /proc/cmdline for
foo.params, strips "foo.", and passes them to the kernel along with
params given in modprobe args or /etc/modprob.d/*.conf files,
in the following order:
1. # parameters given via /etc/modprobe.d/*.conf
options foo dyndbg=+pt
options foo dyndbg # defaults to +p
2. # foo.dyndbg as given in boot args, "foo." is stripped and passed
foo.dyndbg=" func bar +p; func buz +mp"
3. # args to modprobe
modprobe foo dyndbg==pmf # override previous settings
These dyndbg queries are applied in order, with last having final say.
This allows boot args to override or modify those from /etc/modprobe.d
(sensible, since 1 is system wide, 2 is kernel or boot specific), and
modprobe args to override both.
In the foo.dyndbg="QUERY" form, the query must exclude "module foo".
"foo" is extracted from the param-name, and applied to each query in
"QUERY", and only 1 match-spec of each type is allowed.
The dyndbg option is a "fake" module parameter, which means:
- modules do not need to define it explicitly
- every module gets it tacitly, whether they use pr_debug or not
- it doesn't appear in /sys/module/$module/parameters/
To see it, grep the control file, or inspect /proc/cmdline.
For CONFIG_DYNAMIC_DEBUG kernels, any settings given at boot-time (or
enabled by -DDEBUG flag during compilation) can be disabled later via
the sysfs interface if the debug messages are no longer needed:
echo "module module_name -p" > <debugfs>/dynamic_debug/control
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 848 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140416/77e19fd9/attachment-0001.bin
^ permalink raw reply [flat|nested] 10+ messages in thread
* loglevel 7 (debug) and pr_debug()
2014-04-16 11:57 ` Martin Kepplinger
2014-04-16 12:29 ` Arun KS
2014-04-16 12:30 ` Valdis.Kletnieks at vt.edu
@ 2014-04-16 12:37 ` Denis Pithon
2 siblings, 0 replies; 10+ messages in thread
From: Denis Pithon @ 2014-04-16 12:37 UTC (permalink / raw)
To: kernelnewbies
Martin,
Are you sure that /var/log/messages trap DEBUG messages ? (see
/etc/rsylog.conf or something, it depends on your linux distro)
Default on Fedora is to skip debug messages. But your log output is in the
ring buffer (you can check it widt command dmesg)
I guess that your problem is not a problem but a syslog feature :)
http://www.rsyslog.com/doc/rsyslog_conf_filter.html
On Wed, Apr 16, 2014 at 1:57 PM, Martin Kepplinger <martink@posteo.de>wrote:
> Am 16.04.2014 13:43 schrieb Denis Pithon:
> > Martin,
> >
> > I'm not sure did you enable DDEBUG when compiling your module ?
> > pr_debug() macro is discarded if you omit DEBUG in compile time
> >
> > A sample Makefile which enable pr_debug() :
> >
> > obj-m += my_modue.o
> >
> > KDIR ?= /lib/modules/`uname -r`/build
> > CFLAGS_my_module.o := -DDEBUG
> >
> > all:
> > make -C $(KDIR) M=$(PWD) modules
> >
> > clean:
> > make -C $(KDIR) M=$(PWD) clean
> >
> > Let me know ...
> > regards
>
> Thanks,
>
> I did not, but now added -DDEBUG. The exact line is:
> CFLAGS_my_module.o := -DDEBUG
> when "my_module.o" is my object file. Did I get that right?
>
> That doesn't change anything unfortunately. I can not read pr_debug()
> unless I
> explicitely activate it in /sys/kernel/debug/dynamic_debug/control
> *after* insmod.
>
> I'd like to just read all pr_debug() messages like pr_info().
>
> thanks for your time!
>
> >
> > On Wed, Apr 16, 2014 at 1:11 PM, Martin Kepplinger <martink@posteo.de>
> > wrote:
> >
> >> Am 16.04.2014 11:58 schrieb Arun KS:
> >>
> >>> Hi Martin,
> >>>
> >>> On Wed, Apr 16, 2014 at 2:46 PM, Martin Kepplinger
> >>> <martink@posteo.de>
> >>> wrote:
> >>>> Am 2014-04-16 11:00, schrieb Arun KS:
> >>>>> Hi Martin,
> >>> >>
> >>>>> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger
> >>>>> <martink@posteo.de> wrote:
> >>>>>> I'm on Debian here and I don't really get pr_debug and
> >>>>>> printk(KERN_DEBUG
> >>> >>> ...). Let's stick to pr_debug.
> >>>>>>
> >>>>>> I have DYNAMIC_DEBUG enabled and
> >>>>>> root at laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk
> >>>>>> 7 7 1 7
> >>> >> This shows the console log level.
> >>>>> This file controls the traffic to console. But all the log
> >>>>> messages
> >>>>> will be present in logbuf.
> >>>>
> >>>> How do I view debug messages from logbuf?
> >>> >
> >>>>>
> >>>>>>
> >>>>>> I write a module with pr_debug's. I load the module and I *don't*
> >>>>>> see
> >>>>>> anything in /var/log/messages (or anywhere in /var/log/* ).
> >>>>>> Adding
> >>>>>> #define DEBUG doesn't help.
> >>> >>>
> >>>>>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries
> >>>>>> I
> >>>>>> use
> >>>>>> in my loaded module.
> >>>>>>
> >>>>>> In short: How do I see debug log messages? Using pr_info() works
> >>>>>> as
> >>> >>> expected. What am I missing? Do I need to edit my Makefile?
> >>>>> Did you enable dynamic printing for your file?
> >>>>>
> >>>>> Below command enables dynamic printing for file sdhci.c.
> >>>>> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control
> >>> >
> >>>> well. I tried that. The thing is, the pr_debug() symbols are in
> >>>> "control" only after "insmod my_module". Then I can echo -n 'file
> >>>> my_mobule.c +p' > control
> >>>> But my pr_debug() messages get printed directly after insmod,
> >>>> basically
> >>> > in my module_init function. Enabling my file doesn't output
> >>> anything in
> >>>> /var/log/*
> >>> So now you know why your pr_debug is absent in logbuf.
> >>>
> >>> You can make your module as a built in and use bootargs.
> >>>
> >>> eg:
> >>> dyndbg="file your_filename.c +p"
> >>>
> >>> Thanks,
> >>> Arun
> >>>
> >>
> >> So it's *not* possible at all to get pr_debug() messages just like
> >> pr_info() messages?
> >> Of what I've read, I assumed pr_debug() is just loglevel 7.
> >>
> >> thanks for your help!
> >>
> >>>>
> >>>>>
> >>>>>
> >>>>> Thanks,
> >>>>> Arun
> >>>>>>
> >>>>>> thanks!
> >>>>>> martin
> >>> >>>
> >>>>>> --
> >>>>>> Martin Kepplinger
> >>>>>> e-mail martink AT posteo DOT at
> >>>>>> chat (XMPP) martink AT jabber DOT at
> >>>>>>
> >>>>>> _______________________________________________
> >>> >>> Kernelnewbies mailing list
> >>>>>> Kernelnewbies at kernelnewbies.org
> >>>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>>>>> [1]
> >>
> >>> >>
> >>>>> _______________________________________________
> >>>>> Kernelnewbies mailing list
> >>>>> Kernelnewbies at kernelnewbies.org
> >>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>>>> [1]
> >>
> >>> >>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Kernelnewbies mailing list
> >>>> Kernelnewbies at kernelnewbies.org
> >>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>>> [1]
> >>>
> >>> Links:
> >>> ------
> >>> [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >>> [1]
> >>
> >>>
> >>> _______________________________________________
> >>> Kernelnewbies mailing list
> >>> Kernelnewbies at kernelnewbies.org
> >>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >>
> >> _______________________________________________
> >> Kernelnewbies mailing list
> >> Kernelnewbies at kernelnewbies.org
> >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1]
> >
> >
> >
> > Links:
> > ------
> > [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140416/d4f43dbb/attachment.html
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-04-16 12:37 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-16 8:43 loglevel 7 (debug) and pr_debug() Martin Kepplinger
2014-04-16 9:00 ` Arun KS
2014-04-16 9:16 ` Martin Kepplinger
2014-04-16 9:58 ` Arun KS
2014-04-16 11:11 ` Martin Kepplinger
2014-04-16 11:43 ` Denis Pithon
2014-04-16 11:57 ` Martin Kepplinger
2014-04-16 12:29 ` Arun KS
2014-04-16 12:30 ` Valdis.Kletnieks at vt.edu
2014-04-16 12:37 ` Denis Pithon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).