Messages in this thread | | | From | "Martin Eriksson" <> | Subject | Re: [ACPI] ACPI mentioned on lwn.net/kernel | Date | Sat, 26 Jan 2002 19:25:02 +0100 |
| |
----- Original Message ----- From: "Jamie Lokier" <lk@tantalophile.demon.co.uk> To: "Jeff Garzik" <jgarzik@mandrakesoft.com> Cc: "Martin Eriksson" <nitrax@giron.wox.org>; "Linus Torvalds" <torvalds@transmeta.com>; <linux-kernel@vger.kernel.org> Sent: Saturday, January 26, 2002 6:48 PM Subject: Re: [ACPI] ACPI mentioned on lwn.net/kernel
> Jeff Garzik wrote: > > > Hmm.. I tried to compile the kernel with -Os (gcc 2.96-98) and I just got a > > > ~1% smaller vmlinux and a ~3% smaller bzImage. Maybe the size optimizations > > > doesn't show on these files? Internal data structures that are much bigger > > > than "real" code? > > > > That doesn't tell us much unless you benchmark any speed > > improvements/degradations noticed. Hidden in that 1% may be more > > favorable I-cache usage, better register usage... who knows. > > > > It would also be interesting to compile key files like kernel/sched.c or > > mm/vmscan.c in assembly using O2 and Os, and compare the output with > > diff -u. > > It'd be good to know why it's not achieving the quoted 30% space saving > that other compilers manage for normal code, unless it's myth of course. >
So I compiled sched.c to assembly (note that I have the rml preempt patch there too), and the results are pretty strange:
Diff between -O2 and -Os: http://giron.wox.org/sched.s.diff
As you can see, not much size optimizing are done from -O2.
The C file: http://giron.wox.org/sched.c
Command line: gcc -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -OX \ -fomit-frame-pointer -fno-strict-aliasing -fno-common -S sched.c
where -OX have been replaced by -O0 -O2 -O3 and -Os
The assembler files: http://giron.wox.org/sched.s.o0 http://giron.wox.org/sched.s.o2 http://giron.wox.org/sched.s.o3 http://giron.wox.org/sched.s.os
The file created with -O0 (no optimization) is the biggest of all, even bigger than -O3. -O2 and -Os differ only about 1%
So either a) -O2 does size optimization b) -Os sucks at size optimization
_____________________________________________________ | Martin Eriksson <nitrax@giron.wox.org> | MSc CSE student, department of Computing Science | Umeå University, Sweden
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |