From: Bernardo Innocenti <bernie@develer.com> To: uClinux development list <uclinux-dev@uclinux.org> Cc: linux-kernel@vger.kernel.org Subject: Kernel 2.6 size increase Date: Wed, 23 Jul 2003 20:46:46 +0200 [thread overview] Message-ID: <200307232046.46990.bernie@develer.com> (raw) Hello, code bloat can be very harmful on embedded targets, but it's generally inconvenient for any platform. I've measured the code increase between 2.4.21 and 2.6.0-test1 on a small kernel configuration for ColdFire: text data bss dec hex filename 640564 39152 134260 813976 c6b98 linux-2.4.x/linux 845924 51204 78896 976024 ee498 linux-2.5.x/vmlinux I could provide the exact .config file for both kernels to anybody interested. They are almost the same: no filesystems except JFFS2, IPv4 and a bunch of small drivers. I have no SMP, security, futexes, modules and anything else not strictly needed to execute processes. I've made a linker map file and compared the size of single subsystems. These are the the major contributors to the size increase: kernel/ +27KB mm/ +14KB fs/ +47KB drivers/ +35KB net/ +64KB I've digged into net/ with nm -S --size-sort. It seems that the major increase is caused by net/xfrm/. Could this module be made optional? In fs/, almost all modules have got 30-40% bigger, therefore bloat is probably caused by inlines and macros getting more complex. Block drivers and MTD have generally become smaller. Character devices are responsable for most of the size increase in drivers/. -- // Bernardo Innocenti - Develer S.r.l., R&D dept. \X/ http://www.develer.com/ Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html
next reply other threads:[~2003-07-23 18:31 UTC|newest] Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-07-23 18:46 Bernardo Innocenti [this message] 2003-07-23 19:14 ` Richard B. Johnson 2003-07-23 20:07 ` David S. Miller 2003-07-23 21:47 ` Randy.Dunlap 2003-07-23 19:32 ` [uClinux-dev] " Christoph Hellwig 2003-07-23 20:11 ` David S. Miller 2003-07-23 20:15 ` Christoph Hellwig 2003-07-23 20:22 ` David S. Miller 2003-07-23 20:27 ` Christoph Hellwig 2003-07-23 22:35 ` [uClinux-dev] Kernel 2.6 size increase - get_current()? Bernardo Innocenti 2003-07-23 22:37 ` Alan Cox 2003-07-23 23:00 ` Bernardo Innocenti 2003-07-24 5:06 ` David McCullough 2003-07-24 11:28 ` Alan Cox 2003-07-24 12:04 ` David McCullough 2003-07-24 14:48 ` Alan Cox 2003-07-25 18:25 ` bill davidsen 2003-07-24 15:30 ` Hollis Blanchard 2003-07-24 19:37 ` Alan Cox 2003-07-24 19:51 ` Hollis Blanchard 2003-07-24 21:20 ` J.A. Magallon 2003-07-25 4:22 ` Otto Solares 2003-07-25 14:38 ` Hollis Blanchard 2003-07-28 3:19 ` Miles Bader 2003-07-28 8:14 ` Ihar "Philips" Filipau 2003-07-28 8:58 ` Miles Bader 2003-07-28 9:03 ` Ihar "Philips" Filipau 2003-07-23 21:57 ` [uClinux-dev] Kernel 2.6 size increase Bernardo Innocenti 2003-07-23 22:07 ` Bernardo Innocenti 2003-07-23 22:27 ` Willy Tarreau 2003-07-23 22:34 ` Alan Cox 2003-07-24 20:27 ` Bernardo Innocenti 2003-07-25 15:46 ` Christoph Hellwig 2003-07-25 23:55 ` [PATCH] Make I/O schedulers optional (Was: Re: Kernel 2.6 size increase) Bernardo Innocenti 2003-07-26 8:17 ` Andrew Morton 2003-07-26 12:40 ` Bernardo Innocenti 2003-07-26 14:07 ` Jens Axboe 2003-07-26 23:42 ` Bernardo Innocenti 2003-07-26 23:41 ` Jens Axboe 2003-07-28 17:13 ` [uClinux-dev] Kernel 2.6 size increase Nicolas Pitre 2003-07-28 23:02 ` Bernardo Innocenti 2003-07-29 2:36 ` Miles Bader 2003-08-08 13:25 ` [uClinux-dev] " David Woodhouse 2003-08-08 14:37 ` Bernardo Innocenti 2003-08-08 14:43 ` David Woodhouse 2003-07-25 18:16 ` bill davidsen 2003-07-29 22:29 ` Tom Rini 2003-07-29 22:48 ` Alan Cox 2003-07-29 23:06 ` Tom Rini 2003-07-30 2:07 ` Miles Bader 2003-07-30 15:33 ` Tom Rini 2003-07-31 1:49 ` Miles Bader 2003-07-31 4:17 ` Tom Rini 2003-07-31 5:03 ` Miles Bader 2003-07-31 15:24 ` Tom Rini 2003-07-30 2:49 ` [uClinux-dev] " Bernardo Innocenti 2003-07-30 15:35 ` Tom Rini 2003-07-30 16:45 ` [uClinux-dev] Kernel 2.6 size increase (PATCH) Bernardo Innocenti [not found] <cArb.74D.1@gated-at.bofh.it> [not found] ` <cUTh.6JZ.33@gated-at.bofh.it> [not found] ` <eLiy.31J.3@gated-at.bofh.it> [not found] ` <eLBW.3eJ.7@gated-at.bofh.it> [not found] ` <eLVb.3yF.1@gated-at.bofh.it> [not found] ` <eOJn.5NI.1@gated-at.bofh.it> [not found] ` <f1dJ.GS.21@gated-at.bofh.it> [not found] ` <faTE.2LQ.3@gated-at.bofh.it> [not found] ` <fd56.4Te.9@gated-at.bofh.it> [not found] ` <fdRv.5uB.9@gated-at.bofh.it> [not found] ` <fnHd.54o.19@gated-at.bofh.it> 2003-07-31 16:31 ` Kernel 2.6 size increase Ihar "Philips" Filipau 2003-07-31 16:43 ` Tom Rini 2003-07-31 17:04 ` Ihar "Philips" Filipau 2003-07-31 17:20 ` Tom Rini 2003-07-31 18:02 ` Ihar "Philips" Filipau
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=200307232046.46990.bernie@develer.com \ --to=bernie@develer.com \ --cc=linux-kernel@vger.kernel.org \ --cc=uclinux-dev@uclinux.org \ --subject='Re: Kernel 2.6 size increase' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).