public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rob Landley <rob@landley.net>
To: "Indan Zupancic" <indan@nul.nu>
Cc: linux-tiny@selenic.com,
	"Michael Opdenacker" <michael@free-electrons.com>,
	"CE Linux Developers List" <celinux-dev@tree.celinuxforum.org>,
	"linux kernel" <linux-kernel@vger.kernel.org>
Subject: Re: [Announce] Linux-tiny project revival
Date: Thu, 20 Sep 2007 18:18:41 -0500	[thread overview]
Message-ID: <200709201818.42125.rob@landley.net> (raw)
In-Reply-To: <59465.81.207.0.53.1190323573.squirrel@secure.samage.net>

On Thursday 20 September 2007 4:26:13 pm Indan Zupancic wrote:
> On Thu, September 20, 2007 22:38, Rob Landley wrote:
> > 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
>
> You have to jump through less hoops if you do:
>
> #define KERN_NOTICE 5,

Less change to the source, but the result is less obvious about what it's 
doing.  I'd personally rather have the churn than wind up with magic 
syntax...

> But the problem remains that there are printk's which don't have
> a KERN_* as the first argument. Those are also impossible to get
> rid off in this way, as the loglevel is unknown (and you don't want
> partially printed messages).
>
> So adding the comma is really needed and in addition all printk's
> without a loglevel should get one. Which clutters the code and may
> increase codesize.

It's ok to _explicitly_ not have a loglevel, and thus take a known default.  
The problem is printing out less than a full line, continuing it later, and 
not making obvious at compile time what the level of this chunk is.

> A quick scroll through a vmlinux binary shows that there are quite a
> lot areas consisting only of some repeated pattern. Mostly 0x00, but
> also 0x90 and ".GCC: (GNU) 4.2.1.". Getting rid of those would save
> something between 50 and 100KB.

Worse, if you feed an absolute path to O= when you build the kernel out of 
tree, then it uses absolute paths for all the __FILE__ strings and that makes 
kernel BIIIIIG.  (Did that by accident a while back.)  Too bad there's no way 
to keep the __FILE__ strings compressed at runtime and gunzip them as needed 
like busybox does with help messages... :)

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.

  reply	other threads:[~2007-09-20 22:19 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-19 18:03 [Announce] Linux-tiny project revival Tim Bird
2007-09-19 18:47 ` Luis R. Rodriguez
2007-09-19 19:31   ` Tim Bird
2007-09-19 19:01 ` Christian MICHON
2007-09-19 19:28 ` Andi Kleen
2007-09-19 19:41   ` Tim Bird
2007-09-19 20:45     ` Valdis.Kletnieks
2007-09-19 21:29       ` Tim Bird
2007-09-19 22:29         ` Michael Opdenacker
2007-09-19 21:28 ` [Celinux-dev] " Andrew Morton
2007-09-19 21:41   ` Tim Bird
2007-09-19 22:38     ` Michael Opdenacker
2007-09-20  9:10       ` Andy Whitcroft
2007-09-20 17:10         ` Monster switch for small size (was Linux-tiny revival) Tim Bird
2007-09-20 21:41           ` Rob Landley
2007-09-20 20:50             ` Randy Dunlap
2007-09-21  6:35             ` Christian MICHON
2007-09-20 23:02   ` [Celinux-dev] [Announce] Linux-tiny project revival Rob Landley
2007-09-20 20:38 ` Rob Landley
2007-09-20 19:58   ` Alexey Dobriyan
2007-09-20 20:22     ` printk proposal - (was Linux-tiny project revival) Tim Bird
2007-09-21 19:07       ` Alexey Dobriyan
2007-09-21 20:53         ` Rob Landley
2007-09-20 22:02     ` [Announce] Linux-tiny project revival Rob Landley
2007-09-20 21:22       ` Jared Hulbert
2007-09-20 22:53         ` Rob Landley
2007-09-20 22:15       ` [Celinux-dev] " Gross, Mark
2007-09-21  0:57         ` Message codes (Re: [Announce] Linux-tiny project revival) Oleg Verych
2007-09-21 14:18           ` Gross, Mark
2007-09-21 21:15             ` Rob Landley
2007-09-21 22:12               ` Gross, Mark
2007-09-21 22:33                 ` Joe Perches
2007-09-21 22:39                   ` Gross, Mark
2007-09-22  1:55               ` Oleg Verych
2007-09-21 13:29       ` [Announce] Linux-tiny project revival Dick Streefland
2007-09-20 20:16   ` Joe Perches
2007-09-25 11:43     ` [Celinux-dev] " Geert Uytterhoeven
2007-09-20 21:26   ` Indan Zupancic
2007-09-20 23:18     ` Rob Landley [this message]
2007-09-20 23:06       ` Indan Zupancic
2007-09-21  6:29         ` Sam Ravnborg
2007-09-24 18:13           ` Adrian Bunk
2007-09-26  6:24             ` Rob Landley
2007-09-21 17:16       ` Valdis.Kletnieks
2007-09-21 17:45         ` Joe Perches
2007-09-21 23:05           ` Rob Landley
2007-09-21 23:08             ` Joe Perches
2007-09-21 21:34       ` Kyle Moffett
2007-09-21 22:05         ` Joe Perches
2007-09-21 22:57           ` Kyle Moffett
2007-09-20 21:58   ` Tim Bird
2007-09-20 22:14     ` Joe Perches
2007-09-21  0:28       ` Rob Landley
2007-09-21  0:03         ` Joe Perches
2007-09-20 23:11     ` Rob Landley
2007-09-21 12:27   ` Bill Davidsen
2007-09-27  7:00   ` Arnd Bergmann
2007-09-27 16:35     ` Indan Zupancic
2007-09-27 22:21       ` Arnd Bergmann
2007-09-28  8:39         ` Bernd Petrovitsch
2007-09-30 20:37           ` Jörn Engel
2007-09-28  0:06     ` Rob Landley
2007-09-28 14:36       ` Dick Streefland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200709201818.42125.rob@landley.net \
    --to=rob@landley.net \
    --cc=celinux-dev@tree.celinuxforum.org \
    --cc=indan@nul.nu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tiny@selenic.com \
    --cc=michael@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox