1. 05 5月, 2010 1 次提交
  2. 07 4月, 2010 2 次提交
  3. 07 3月, 2010 1 次提交
  4. 04 2月, 2010 1 次提交
  5. 29 1月, 2010 1 次提交
  6. 23 4月, 2009 1 次提交
  7. 01 1月, 2009 1 次提交
  8. 29 4月, 2008 2 次提交
    • T
      bitops: remove "optimizations" · fee4b19f
      Thomas Gleixner 提交于
      The mapsize optimizations which were moved from x86 to the generic
      code in commit 64970b68 increased the
      binary size on non x86 architectures.
      
      Looking into the real effects of the "optimizations" it turned out
      that they are not used in find_next_bit() and find_next_zero_bit().
      
      The ones in find_first_bit() and find_first_zero_bit() are used in a
      couple of places but none of them is a real hot path.
      
      Remove the "optimizations" all together and call the library functions
      unconditionally.
      
      Boot-tested on x86 and compile tested on every cross compiler I have.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fee4b19f
    • E
      Avoid divides in BITS_TO_LONGS · ede9c697
      Eric Dumazet 提交于
      BITS_PER_LONG is a signed value (32 or 64)
      
      DIV_ROUND_UP(nr, BITS_PER_LONG) performs signed arithmetic if "nr" is signed too.
      
      Converting BITS_TO_LONGS(nr) to DIV_ROUND_UP(nr, BITS_PER_BYTE *
      sizeof(long)) makes sure compiler can perform a right shift, even if "nr"
      is a signed value, instead of an expensive integer divide.
      
      Applying this patch saves 141 bytes on x86 when CONFIG_CC_OPTIMIZE_FOR_SIZE=y
      and speedup bitmap operations.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ede9c697
  9. 27 4月, 2008 3 次提交
    • A
      x86: optimize find_first_bit for small bitmaps · 3a483050
      Alexander van Heukelum 提交于
      Avoid a call to find_first_bit if the bitmap size is know at
      compile time and small enough to fit in a single long integer.
      Modeled after an optimization in the original x86_64-specific
      code.
      Signed-off-by: NAlexander van Heukelum <heukelum@fastmail.fm>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3a483050
    • A
      x86: generic versions of find_first_(zero_)bit, convert i386 · 77b9bd9c
      Alexander van Heukelum 提交于
      Generic versions of __find_first_bit and __find_first_zero_bit
      are introduced as simplified versions of __find_next_bit and
      __find_next_zero_bit. Their compilation and use are guarded by
      a new config variable GENERIC_FIND_FIRST_BIT.
      
      The generic versions of find_first_bit and find_first_zero_bit
      are implemented in terms of the newly introduced __find_first_bit
      and __find_first_zero_bit.
      
      This patch does not remove the i386-specific implementation,
      but it does switch i386 to use the generic functions by setting
      GENERIC_FIND_FIRST_BIT=y for X86_32.
      Signed-off-by: NAlexander van Heukelum <heukelum@fastmail.fm>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      77b9bd9c
    • A
      x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps · 64970b68
      Alexander van Heukelum 提交于
      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: NIngo Molnar <mingo@elte.hu>
      64970b68
  10. 29 3月, 2008 1 次提交
  11. 20 10月, 2007 3 次提交
  12. 17 10月, 2007 1 次提交
  13. 27 1月, 2007 1 次提交
  14. 27 3月, 2006 1 次提交
  15. 26 3月, 2006 1 次提交
    • A
      [PATCH] roundup_pow_of_two() 64-bit fix · 962749af
      Andrew Morton 提交于
      fls() takes an integer, so roundup_pow_of_two() is busted for ulongs larger
      than 2^32-1.
      
      Fix this by implementing and using fls_long().
      
      (Why does roundup_pow_of_two() return a long?)
      
      (Why is roundup_pow_of_two() __attribute_const__ whereas long_log2() is
      __attribute_pure__?)
      
      (Why does long_log2() suck so much?  Because we were missing fls_long()?)
      
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
      Cc: John Hawkes <hawkes@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      962749af
  16. 04 2月, 2006 1 次提交
  17. 04 1月, 2006 1 次提交
  18. 15 11月, 2005 1 次提交
  19. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4