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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.