lkml.org 
[lkml]   [2007]   [Sep]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    /
    DateThu, 20 Sep 2007 14:58:54 -0700
    FromTim Bird <>
    SubjectRe: [Announce] Linux-tiny project revival
    Rob Landley wrote:
    > So instead of:
    >   printk(KERN_NOTICE "Fruit=%d\n", banana);
    > It would now be:
    >   printk(KERN_NOTICE, "Fruit=%d\n", banana);
    > 
    > Change the header from:
    >   #define KERN_NOTICE "<5>"
    > to:
    >   #define KERN_NOTICE 5
    > 
    > Then you can change the printk guts to do something vaguely like (untested):
    > #define printk(arg1, arg2, ...) actual_printk("<" #arg1 ">" arg2, __VA_ARGS__)
    ...
    > [then] the
    > compiler's dead code eliminator zaps the printks you don't care about so they
    > don't bloat the kernel image.
    
    I agree in principal with the idea, but there are some major
    practical wrinkles that would have to be worked through.
    
    First, not all printks that are missing a log level should have one.
    People do stuff like this:
    
    printk(KERN_INFO "interesting info follows:");
    ...
    printk("var5: %d\n", var5);
    
    Or even things that evaluate to:
    printk("");
    
    The code inside printk currently has to examine the
    strings, looking for line feeds and inserting log levels.
    
    Given that there are about 60,000 printks in the kernel (and that's
    not counting wrappers like dprintk() and other locally-defined
    functions and macros) it would be a huge task to examine the code
    and differentiate strings that really start a new log message
    (and thus should have an attached log level) and strings
    that don't.
     -- Tim
    
    
    =============================
    Tim Bird
    Architecture Group Chair, CE Linux Forum
    Senior Staff Engineer, Sony Corporation of America
    =============================
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    
    
    \
     
     \ /
      Last update: 2007-09-21 00:01    [from the cache]
    ©2003-2008