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.
next prev parent 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