login
Header Space

 
 

Re: [PATCH] bitops: remove "optimizations"

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <tglx@...>
Cc: <torvalds@...>, <harvey.harrison@...>, <mingo@...>, <akpm@...>, <linux-kernel@...>
Date: Tuesday, April 29, 2008 - 8:34 am

From: David Miller <davem@davemloft.net>
Date: Tue, 29 Apr 2008 03:03:32 -0700 (PDT)


Ironically, I just bisected sparc64 bootup failures to the following
changeset.  It's very late here, and I haven't looked into the
details, but it seems to wedge in free_area_init_nodes() on a non-NUMA
system with CONFIG_NUMA disabled.

Isn't it funny that this optimization not only was useless, but also
broke things. :-/

64970b68d2b3ed32b964b0b30b1b98518fde388e is first bad commit
commit 64970b68d2b3ed32b964b0b30b1b98518fde388e
Author: Alexander van Heukelum <heukelum@mailshack.com>
Date:   Tue Mar 11 16:17:19 2008 +0100

    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>

:040000 040000 c0407f7df7dc5333c78c300780931a269ae0dedd 2f6ef634a35b6dd46e40ea70128c39a742e60501 M      include
:040000 040000 556ee6ccb15cdbb1aa5a690c732a5492d58dfe6f 937d05977f46056c12b5da64ca62959c06a912c0 M      lib
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] bitops: simplify generic bit finding functions, Harvey Harrison, (Sun Apr 27, 4:19 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Alexander van Heukelum, (Mon Apr 28, 10:32 am)
Re: [PATCH] bitops: simplify generic bit finding functions, Linus Torvalds, (Sun Apr 27, 4:26 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Alexander van Heukelum, (Mon Apr 28, 10:58 am)
Re: [PATCH] bitops: simplify generic bit finding functions, Thomas Gleixner, (Mon Apr 28, 10:04 am)
Re: [PATCH] bitops: simplify generic bit finding functions, Linus Torvalds, (Mon Apr 28, 12:25 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Thomas Gleixner, (Mon Apr 28, 12:47 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Linus Torvalds, (Mon Apr 28, 12:54 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Thomas Gleixner, (Mon Apr 28, 3:26 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Linus Torvalds, (Mon Apr 28, 3:37 pm)
[PATCH] bitops: remove "optimizations", Thomas Gleixner, (Tue Apr 29, 6:01 am)
Re: [PATCH] bitops: remove "optimizations", David Miller, (Tue Apr 29, 6:03 am)
Re: [PATCH] bitops: remove "optimizations", David Miller, (Tue Apr 29, 8:34 am)
Re: [PATCH] bitops: remove "optimizations", Thomas Gleixner, (Tue Apr 29, 12:51 pm)
Re: [PATCH] bitops: remove "optimizations", David Miller, (Tue Apr 29, 6:58 pm)
Re: [PATCH] bitops: remove "optimizations", David Miller, (Tue Apr 29, 7:30 pm)
Re: [PATCH] bitops: remove "optimizations", Ingo Molnar, (Tue Apr 29, 10:20 am)
Re: [PATCH] bitops: remove "optimizations", David Miller, (Tue Apr 29, 6:31 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Alexander van Heukelum, (Mon Apr 28, 11:10 am)
Re: [PATCH] bitops: simplify generic bit finding functions, Thomas Gleixner, (Mon Apr 28, 11:58 am)
Re: [PATCH] bitops: simplify generic bit finding functions, Harvey Harrison, (Sun Apr 27, 4:29 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Linus Torvalds, (Sun Apr 27, 4:38 pm)
Re: [PATCH] bitops: simplify generic bit finding functions, Harvey Harrison, (Sun Apr 27, 4:38 pm)
speck-geostationary