android_kernel_motorola_sm6375/include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alexander van Heukelum 64970b68d2 x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps
This moves an optimization for searching constant-sized small
bitmaps form x86_64-specific to generic code.

On an i386 defconfig (the x86#testing one), the size of vmlinux hardly
changes with this applied. I have observed only four places where this
optimization avoids a call into find_next_bit:

In the functions return_unused_surplus_pages, alloc_fresh_huge_page,
and adjust_pool_surplus, this patch avoids a call for a 1-bit bitmap.
In __next_cpu a call is avoided for a 32-bit bitmap. That's it.

On x86_64, 52 locations are optimized with a minimal increase in
code size:

Current #testing defconfig:
	146 x bsf, 27 x find_next_*bit
   text    data     bss     dec     hex filename
   5392637  846592  724424 6963653  6a41c5 vmlinux

After removing the x86_64 specific optimization for find_next_*bit:
	94 x bsf, 79 x find_next_*bit
   text    data     bss     dec     hex filename
   5392358  846592  724424 6963374  6a40ae vmlinux

After this patch (making the optimization generic):
	146 x bsf, 27 x find_next_*bit
   text    data     bss     dec     hex filename
   5392396  846592  724424 6963412  6a40d4 vmlinux

[ tglx@linutronix.de: build fixes ]

Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-26 19:21:16 +02:00
..
acpi
asm-alpha asm-generic: add node_to_cpumask_ptr macro 2008-04-19 19:44:58 +02:00
asm-arm [MTD] [NAND] S3C2410 Allow ECC disable to be specified by the board 2008-04-22 21:41:32 +01:00
asm-avr32 avr32: add include/asm-avr32/serial.h 2008-04-19 20:40:10 -04:00
asm-blackfin [Blackfin] arch: add include/boot .gitignore files 2008-04-25 08:29:11 +08:00
asm-cris
asm-frv frv: remove HARD_RESET_NOW() 2008-04-21 16:03:13 -07:00
asm-generic x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps 2008-04-26 19:21:16 +02:00
asm-h8300
asm-ia64 [IA64] move XP and XPC to drivers/misc/sgi-xp 2008-04-22 15:08:17 -07:00
asm-m32r
asm-m68k
asm-m68knommu
asm-mips
asm-mn10300
asm-parisc
asm-powerpc [POWERPC] cell: Generalize io-workarounds code 2008-04-24 21:08:12 +10:00
asm-ppc [POWERPC] 4xx: Fix duplicate phys_addr_t definition 2008-04-24 20:57:34 +10:00
asm-s390
asm-sh i2c: Renesas SH7760 I2C master driver 2008-04-22 22:16:47 +02:00
asm-sparc [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
asm-sparc64 [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00
asm-um
asm-v850
asm-x86 x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps 2008-04-26 19:21:16 +02:00
asm-xtensa
crypto [CRYPTO] aes: Export generic setkey 2008-04-21 10:19:34 +08:00
keys KEYS: Fix the comment to match the file name in rxrpc-type.h. 2008-04-21 22:43:55 +00:00
linux x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps 2008-04-26 19:21:16 +02:00
math-emu
media V4L/DVB (7677): saa7134: Add/fix Beholder entries 2008-04-24 14:09:46 -03:00
mtd
net IPv6 support for NFS server export caches 2008-04-23 16:13:36 -04:00
pcmcia
rdma IB: convert struct class_device to struct device 2008-04-19 19:10:30 -07:00
rxrpc
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-04-21 15:49:58 -07:00
sound [ALSA] Define MPU401 registers in sound/mpu401_uart.h 2008-04-24 12:38:22 +02:00
video
xen xen: add balloon driver 2008-04-24 23:57:33 +02:00
Kbuild