Re: [Announce] Linux-tiny project revival

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <linux-tiny@...>
Cc: Tim Bird <tim.bird@...>, linux kernel <linux-kernel@...>, CE Linux Developers List <celinux-dev@...>, Michael Opdenacker <michael@...>
Date: Thursday, September 20, 2007 - 4:38 pm

On Wednesday 19 September 2007 1:03:09 pm Tim Bird wrote:

Cool!

Could you update http://www.selenic.com/linux-tiny/ to mention the new 
maintainer and new URLs?


I've been playing with an idea for a while to improve the printk() situation, 
but it's a more intrusive change than I've had time to bang on.

Right now, the first argument to printk() is a loglevel, but it's handled via 
string concatenation.  I'd like to change that to be an integer, and make it 
an actual comma-separated first argument.  (Mandatory, not optional.)

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__)

And so far no behavior has changed.  But now the _fun_ part is, you can add a 
config symbol for "what is the minimum loglevel I care about?"  Set that as a 
number from 0-9.  And then you can define the printk to do:

#define printk(level, str, ...) \
  do { \
    if (level < CONFIG_PRINTK_DOICARE) \
      actual_printk("<" #level ">" str, __VA_ARGS__); \
  } while(0);

And viola (however you spell that, I think I'm using the stringed instrument 
but it's french and I'm not trying to type a diacritical mark anyway), the 
compiler's dead code eliminator zaps the printks you don't care about so they 
don't bloat the kernel image.  But this doesn't _completely_ eliminate 
printks, so you can still get the panic() calls and such.  You tweak precisly 
how much bloat you want, using the granularity information that's already 
there in the source code...

Opinions?

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[Announce] Linux-tiny project revival, Tim Bird, (Wed Sep 19, 2:03 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Thu Sep 20, 4:38 pm)
Re: [Announce] Linux-tiny project revival, Arnd Bergmann, (Thu Sep 27, 3:00 am)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Thu Sep 27, 8:06 pm)
Re: [Announce] Linux-tiny project revival, Indan Zupancic, (Thu Sep 27, 12:35 pm)
Re: [Announce] Linux-tiny project revival, Arnd Bergmann, (Thu Sep 27, 6:21 pm)
Re: [Announce] Linux-tiny project revival, Bernd Petrovitsch, (Fri Sep 28, 4:39 am)
Re: [Announce] Linux-tiny project revival, Jörn, (Sun Sep 30, 4:37 pm)
Re: [Announce] Linux-tiny project revival, Bill Davidsen, (Fri Sep 21, 8:27 am)
Re: [Announce] Linux-tiny project revival, Tim Bird, (Thu Sep 20, 5:58 pm)
Re: [Announce] Linux-tiny project revival, Joe Perches, (Thu Sep 20, 6:14 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Thu Sep 20, 8:28 pm)
Re: [Announce] Linux-tiny project revival, Joe Perches, (Thu Sep 20, 8:03 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Thu Sep 20, 7:11 pm)
Re: [Announce] Linux-tiny project revival, Indan Zupancic, (Thu Sep 20, 5:26 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Thu Sep 20, 7:18 pm)
Re: [Announce] Linux-tiny project revival, Kyle Moffett, (Fri Sep 21, 5:34 pm)
Re: [Announce] Linux-tiny project revival, Joe Perches, (Fri Sep 21, 6:05 pm)
Re: [Announce] Linux-tiny project revival, Kyle Moffett, (Fri Sep 21, 6:57 pm)
Re: [Announce] Linux-tiny project revival, Joe Perches, (Fri Sep 21, 1:45 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Fri Sep 21, 7:05 pm)
Re: [Announce] Linux-tiny project revival, Joe Perches, (Fri Sep 21, 7:08 pm)
Re: [Announce] Linux-tiny project revival, Indan Zupancic, (Thu Sep 20, 7:06 pm)
Re: [Announce] Linux-tiny project revival, Sam Ravnborg, (Fri Sep 21, 2:29 am)
Re: [Announce] Linux-tiny project revival, Adrian Bunk, (Mon Sep 24, 2:13 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Wed Sep 26, 2:24 am)
Re: [Announce] Linux-tiny project revival, Joe Perches, (Thu Sep 20, 4:16 pm)
Re: [Celinux-dev] Re: [Announce] Linux-tiny project revival, Geert Uytterhoeven, (Tue Sep 25, 7:43 am)
Re: [Announce] Linux-tiny project revival, Alexey Dobriyan, (Thu Sep 20, 3:58 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Thu Sep 20, 6:02 pm)
Re: [Announce] Linux-tiny project revival, Jared Hulbert, (Thu Sep 20, 5:22 pm)
Re: [Announce] Linux-tiny project revival, Rob Landley, (Thu Sep 20, 6:53 pm)
Re: printk proposal - (was Linux-tiny project revival), Alexey Dobriyan, (Fri Sep 21, 3:07 pm)
Re: printk proposal - (was Linux-tiny project revival), Rob Landley, (Fri Sep 21, 4:53 pm)
Re: [Celinux-dev] [Announce] Linux-tiny project revival, Andrew Morton, (Wed Sep 19, 5:28 pm)
Re: [Celinux-dev] [Announce] Linux-tiny project revival, Michael Opdenacker, (Wed Sep 19, 6:38 pm)
Re: [Celinux-dev] [Announce] Linux-tiny project revival, Andy Whitcroft, (Thu Sep 20, 5:10 am)
Re: Monster switch for small size (was Linux-tiny revival), Christian MICHON, (Fri Sep 21, 2:35 am)
Re: [Announce] Linux-tiny project revival, Andi Kleen, (Wed Sep 19, 3:28 pm)
Re: [Announce] Linux-tiny project revival, Tim Bird, (Wed Sep 19, 3:41 pm)
Re: [Announce] Linux-tiny project revival, Tim Bird, (Wed Sep 19, 5:29 pm)
Re: [Announce] Linux-tiny project revival, Michael Opdenacker, (Wed Sep 19, 6:29 pm)
Re: [Announce] Linux-tiny project revival, Christian MICHON, (Wed Sep 19, 3:01 pm)
Re: [Announce] Linux-tiny project revival, Luis R. Rodriguez, (Wed Sep 19, 2:47 pm)
Re: [Announce] Linux-tiny project revival, Tim Bird, (Wed Sep 19, 3:31 pm)