about printk and console_loglevel

Михаил Кринкин winifred at mail.ru
Sat Mar 5 15:08:18 EST 2011


I think, that console and dmesg are not the same. console_loglevel mean
sumething like text terminal. parport and so on, but dmesg is independent
from this log level. You can write simple module like this:

#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void) {
        printk(KERN_EMERG "EMERG: Hello World.\n"); printk(KERN_ALERT
"ALERT: Hello World.\n"); printk(KERN_CRIT "CRIT: Hello World.\n");
printk(KERN_WARNING "WARNING: Hello World.\n"); printk(KERN_NOTICE "NOTICE:
Hello World.\n"); printk(KERN_INFO "INFO: Hello World.\n");
printk(KERN_DEBUG "DEBUG: Hello World.\n"); return 0;
}

void cleanup_module(void) {
        printk("Bye :)");
}

and you see, that dmesg print everything (but /var/log/messages contained
only WARNING, NOTICE and INFO levels messages, for console_loglevel = 3)

2011/3/5 Siddu <siddu.sjce at gmail.com>

> Hi all,
> Hi all,
>
> I am little stuck understanding this piece of code below and the way its
> been working
>
> Question: since KERN_INFO = 6 # which is msg_log_level
> and as per code
> *msg_log_level < console_loglevel*
>
>  this line of printk is not supposed to show up in the dmesg log ? but it
> is showing up . Why
>
> cat /proc/sys/kernel/printk
> 4    4   1   7
>
> console_loglevel = 4
>
> printk(KERN_INFO "Brought up %ld CPUs\n", (long)num_online_cpus());
>
>
> static void _call_console_drivers(unsigned start,
>        unsigned end, int msg_log_level)
> {
>  if ((*msg_log_level < console_loglevel* || ignore_loglevel) &&
>      console_drivers && start != end) {
>    if ((start & LOG_BUF_MASK) > (end & LOG_BUF_MASK)) {
>      /* wrapped write */
>      __call_console_drivers(start & LOG_BUF_MASK,
>            log_buf_len);
>      __call_console_drivers(0, end & LOG_BUF_MASK);
>    } else {
>      __call_console_drivers(start, end);
>    }
>  }
> }
>
> Thanks for any inputs !
> --
> Regards,
> ~Sid~
>
>
> _______________________________________________
> 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/20110305/0bd286a8/attachment.html 


More information about the Kernelnewbies mailing list