kernel-hacking-2024-linux-s.../arch/x86
Denys Vlasenko 9b706aee7d x86: trivial printk optimizations
In arch/x86/boot/printf.c gets rid of unused tail of digits: const char
*digits = "0123456789abcdefghijklmnopqrstuvwxyz"; (we are using 0-9a-f
only)

Uses smaller/faster lowercasing (by ORing with 0x20)
if we know that we work on numbers/digits. Makes
strtoul smaller, and also we are getting rid of

  static const char small_digits[] = "0123456789abcdefx";
  static const char large_digits[] = "0123456789ABCDEFX";

since this works equally well:

  static const char digits[16] = "0123456789ABCDEF";

Size savings:

$ size vmlinux.org vmlinux
   text    data     bss     dec     hex filename
 877320  112252   90112 1079684  107984 vmlinux.org
 877048  112252   90112 1079412  107874 vmlinux

It may be also a tiny bit faster because code has less
branches now, but I doubt it is measurable.

[ hugh@veritas.com: uppercase pointers fix ]

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-02-09 23:24:09 +01:00
..
boot x86: trivial printk optimizations 2008-02-09 23:24:09 +01:00
configs x86, core: remove CONFIG_FORCED_INLINING 2008-02-09 23:24:09 +01:00
crypto
ia32 Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
kernel x86: construct 32-bit boot time page tables in native format. 2008-02-09 23:24:09 +01:00
kvm kvm: i386 fix 2008-02-05 09:44:06 -08:00
lguest Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-01-31 09:35:32 +11:00
lib read_current_timer() cleanups 2008-02-06 10:41:02 -08:00
mach-default
mach-es7000
mach-generic
mach-rdc321x
mach-visws
mach-voyager calibrate_delay() must be __cpuinit 2008-02-06 10:41:08 -08:00
math-emu
mm x86: fix early_ioremap pagetable ops 2008-02-09 23:24:09 +01:00
oprofile
pci intel-agp: add chipset flushing support 2008-02-05 14:33:32 +10:00
power
vdso
video
xen x86: sparse warnings in pageattr.c 2008-02-09 23:24:08 +01:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2008-02-09 11:14:20 -08:00
Kconfig.cpu
Kconfig.debug x86: delay CPA self-test and repeat it 2008-02-06 22:39:45 +01:00
Makefile x86: define OBJCOPYFLAGS explicitly for each target. 2008-02-04 16:47:56 +01:00
Makefile_32.cpu