From: rwhron@earthlink.net
To: linux-kernel@vger.kernel.org
Cc: solt@dns.toxicfilms.tv
Subject: Re: Minimizing the Kernel
Date: Wed, 24 Sep 2003 22:22:18 -0400 [thread overview]
Message-ID: <20030925022218.GA20302@rushmore> (raw)
> Hmm, has anyone tried -Os with gcc3+ ?
> Maybe that'd be good for size optimization?
2.6.0-test3 compiled with gcc-3.3.1 and redhat 7.2's
gcc-2.96-112. gcc-3.3.1 saves about 275k text (10%).
-Os is more effective on gcc-3.3.1 than 2.96.
These were all built with the same .config.
size vmlinux-*
text data bss dec hex filename
2120419 449928 131748 2702095 293b0f vmlinux-3.3.1-Os
2124890 449928 131748 2706566 294c86 vmlinux-3.3.1-Os-falign=2
2334482 457304 125952 2917738 2c856a vmlinux-2.96-112-Os
2405382 449960 131748 2987090 2d9452 vmlinux-3.3.1
2408343 457332 125952 2991627 2da60b vmlinux-2.96-112
Most frequently saved instruction with gcc-3.3.1 -Os is nop.
This was on x86. The -falign=2 version had -falign-functions=2
-falign-jumps=2 -falign-labels=2 -falign-loops=2. I believe the
default with -Os is no alignment (i.e. -falign-*=0).
I benchmarked those compilers/options on a K6/2. You could wade
through http://home.earthlink.net/~rwhron/kernel/bigbox.html
to see all the results.
Quick summary:
gcc-3.3.1 -Os -falign=2 was best for most LMbench tests.
For other benchmarks that wasn't always true. K6/2 has small
L1 cache (32+32K) L2 cache is 1M, but not much faster than RAM
on my box.
These generalizations can be made:
1) gcc-3.3.1 -Os kernel code is about 10% smaller than gcc-2.96 -Os.
2) Actual memory savings is not 10%, because dynamic structure
sizes don't change.
3) gcc-3.3.1 takes significantly longer to compile source.
YMMV
--
Randy Hron
http://home.earthlink.net/~rwhron/kernel/bigbox.html
next reply other threads:[~2003-09-25 2:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-25 2:22 rwhron [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-09-25 4:54 Minimizing the Kernel rwhron
2003-09-24 17:32 Andrzej Krzysztofowicz
2003-09-24 22:39 ` Timothy Miller
2003-09-24 16:32 Scott Robert Ladd
2003-09-24 16:39 ` Matt Heler
2003-09-24 17:13 ` Maciej Soltysiak
2003-09-24 18:21 ` Valdis.Kletnieks
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=20030925022218.GA20302@rushmore \
--to=rwhron@earthlink.net \
--cc=linux-kernel@vger.kernel.org \
--cc=solt@dns.toxicfilms.tv \
/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.