lkml.org 
[lkml]   [2009]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v5 00/12] introduce skip_spaces(), reducing code size plus some clean-ups
Date
This patch reduces lib/lib.a code size by 482 bytes on my Core 2 with gcc 4.4.1
even considering that it exports a newly defined function skip_spaces()
to drivers:
text data bss dec hex filename
64867 840 592 66299 102fb (TOTALS-lib.a-BEFORE)
64641 584 592 65817 10119 (TOTALS-lib.a-AFTER)
and implements some code tidy up.

Besides reducing lib.a size, it converts many in-tree drivers to use the
newly defined function, which makes another small reduction on kernel size
overall when those drivers are used.

Changelog:
v5: addressed comments and feedback from many people: Jan Engelhardt,
James Bottomley, Rusty Russell, Alan Cox, Henrique de Moraes Holschuh,
Theodore Tso and Julia Lawall (thanks!)
v4: converted drivers over newly defined skip_spaces() function
v3: improved comments on patch 5/7 and factorize a switch statement on 6/7
as per suggestions from Ingo and Frederic (thanks!)
v2: addressed feedback from Frederic Weisbecker review (thanks!)
and split into separate patches
v1: original submission

André Goddard Rosa (12):
vsprintf: factorize "(null)" string
vsprintf: pre-calculate final string length for later use
vsprintf: give it some care to please checkpatch.pl
vsprintf: use TOLOWER whenever possible
vsprintf: reduce code size by avoiding extra check
vsprintf: move local vars to block local vars and remove unneeded
ones
vsprintf: factor out skip_space code in a separate function
vsprintf: reuse almost identical simple_strtoulX() functions
ctype: constify read-only _ctype string
string: factorize skip_spaces and export it to be generally available
string: on strstrip(), first remove leading spaces before running
over str
tree-wide: convert open calls to remove spaces to skip_spaces() lib
function

arch/s390/kernel/debug.c | 3 +-
arch/um/drivers/mconsole_kern.c | 16 +-
arch/x86/kernel/cpu/mtrr/if.c | 11 +-
drivers/leds/led-class.c | 2 +-
drivers/leds/ledtrig-timer.c | 4 +-
drivers/md/dm-table.c | 6 +-
drivers/md/md.c | 4 +-
drivers/parisc/pdc_stable.c | 9 +-
drivers/platform/x86/thinkpad_acpi.c | 7 +-
drivers/pnp/interface.c | 36 +---
drivers/s390/block/dasd_proc.c | 5 +-
drivers/video/backlight/lcd.c | 4 +-
drivers/video/display/display-sysfs.c | 2 +-
drivers/video/output.c | 2 +-
fs/cachefiles/daemon.c | 4 +-
fs/ext4/super.c | 7 +-
include/linux/ctype.h | 3 +-
include/linux/string.h | 1 +
kernel/params.c | 8 +-
lib/argv_split.c | 13 +-
lib/ctype.c | 50 +++---
lib/dynamic_debug.c | 4 +-
lib/string.c | 19 ++-
lib/vsprintf.c | 337 ++++++++++++++++-----------------
net/irda/irnet/irnet.h | 1 +
net/irda/irnet/irnet_ppp.c | 8 +-
net/netfilter/xt_recent.c | 3 +-
sound/pci/hda/hda_hwdep.c | 7 +-
28 files changed, 264 insertions(+), 312 deletions(-)

--
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/

\
 
 \ /
  Last update: 2009-11-15 08:17    [W:0.065 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site