<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/asm-generic/bitops, branch v2.6.27.7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/asm-generic/bitops?h=v2.6.27.7</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/asm-generic/bitops?h=v2.6.27.7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-04-26T17:21:16Z</updated>
<entry>
<title>bitops: use __fls for fls64 on 64-bit archs</title>
<updated>2008-04-26T17:21:16Z</updated>
<author>
<name>Alexander van Heukelum</name>
<email>heukelum@mailshack.com</email>
</author>
<published>2008-03-15T17:32:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d57594c203b1e7b54373080a797f0cbfa4aade68'/>
<id>urn:sha1:d57594c203b1e7b54373080a797f0cbfa4aade68</id>
<content type='text'>
Use __fls for fls64 on 64-bit archs. The implementation for
64-bit archs is moved from x86_64 to asm-generic.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>generic: introduce a generic __fls implementation</title>
<updated>2008-04-26T17:21:16Z</updated>
<author>
<name>Alexander van Heukelum</name>
<email>heukelum@mailshack.com</email>
</author>
<published>2008-03-15T17:30:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7d9dff22e8ad06ad330968c9e3d3a2fb55a5f9c3'/>
<id>urn:sha1:7d9dff22e8ad06ad330968c9e3d3a2fb55a5f9c3</id>
<content type='text'>
Add a generic __fls implementation in the same spirit as
the generic __ffs one. It finds the last (most significant)
set bit in the given long value.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps</title>
<updated>2008-04-26T17:21:16Z</updated>
<author>
<name>Alexander van Heukelum</name>
<email>heukelum@mailshack.com</email>
</author>
<published>2008-03-11T15:17:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=64970b68d2b3ed32b964b0b30b1b98518fde388e'/>
<id>urn:sha1:64970b68d2b3ed32b964b0b30b1b98518fde388e</id>
<content type='text'>
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 &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>ext4: Add ext4_find_next_bit()</title>
<updated>2008-01-29T04:58:27Z</updated>
<author>
<name>Aneesh Kumar K.V</name>
<email>aneesh.kumar@linux.vnet.ibm.com</email>
</author>
<published>2008-01-29T04:58:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aa02ad67d9b308290fde390682cd039b29f7ab85'/>
<id>urn:sha1:aa02ad67d9b308290fde390682cd039b29f7ab85</id>
<content type='text'>
This function is used by the ext4 multi block allocator patches.

Also add generic_find_next_le_bit

Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Cc: &lt;linux-ext4@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>define first set of BIT* macros</title>
<updated>2007-10-19T18:53:42Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2007-10-19T06:40:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d05be13bcc6ec615fb2e9556a9b85d52800669b6'/>
<id>urn:sha1:d05be13bcc6ec615fb2e9556a9b85d52800669b6</id>
<content type='text'>
define first set of BIT* macros

- move BITOP_MASK and BITOP_WORD from asm-generic/bitops/atomic.h to
  include/linux/bitops.h and rename it to BIT_MASK and BIT_WORD
- move BITS_TO_LONGS and BITS_PER_BYTE to bitops.h too and allow easily
  define another BITS_TO_something (e.g. in event.c) by BITS_TO_TYPE macro
Remaining (and common) BIT macro will be defined after all occurences and
conflicts will be sorted out in the patches.

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>bitops: introduce lock ops</title>
<updated>2007-10-18T21:37:29Z</updated>
<author>
<name>Nick Piggin</name>
<email>npiggin@suse.de</email>
</author>
<published>2007-10-18T10:06:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=26333576fd0d0b52f6e4025c5aded97e188bdd44'/>
<id>urn:sha1:26333576fd0d0b52f6e4025c5aded97e188bdd44</id>
<content type='text'>
Introduce test_and_set_bit_lock / clear_bit_unlock bitops with lock semantics.
Convert all architectures to use the generic implementation.

Signed-off-by: Nick Piggin &lt;npiggin@suse.de&gt;
Acked-By: David Howells &lt;dhowells@redhat.com&gt;
Cc: Richard Henderson &lt;rth@twiddle.net&gt;
Cc: Ivan Kokshaysky &lt;ink@jurassic.park.msu.ru&gt;
Cc: Russell King &lt;rmk@arm.linux.org.uk&gt;
Cc: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: Bryan Wu &lt;bryan.wu@analog.com&gt;
Cc: Mikael Starvik &lt;starvik@axis.com&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Cc: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Cc: "Luck, Tony" &lt;tony.luck@intel.com&gt;
Cc: Hirokazu Takata &lt;takata@linux-m32r.org&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Roman Zippel &lt;zippel@linux-m68k.org&gt;
Cc: Greg Ungerer &lt;gerg@uclinux.org&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Kyle McMartin &lt;kyle@mcmartin.ca&gt;
Cc: Matthew Wilcox &lt;willy@debian.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Paul Mundt &lt;lethal@linux-sh.org&gt;
Cc: Kazumoto Kojima &lt;kkojima@rr.iij4u.or.jp&gt;
Cc: Richard Curnow &lt;rc@rc0.org.uk&gt;
Cc: William Lee Irwin III &lt;wli@holomorphy.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Cc: Miles Bader &lt;uclinux-v850@lsi.nec.co.jp&gt;
Cc: Andi Kleen &lt;ak@muc.de&gt;
Cc: Chris Zankel &lt;chris@zankel.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>sched: simplify sched_find_first_bit()</title>
<updated>2007-07-09T16:52:00Z</updated>
<author>
<name>Mike Galbraith</name>
<email>efault@gmx.de</email>
</author>
<published>2007-07-09T16:52:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ff80a77f20f811c0cc5b251d0f657cbc6f788385'/>
<id>urn:sha1:ff80a77f20f811c0cc5b251d0f657cbc6f788385</id>
<content type='text'>
simplify sched_rt.c's sched_find_first_bit() function: there are
only 100 RT priority levels left.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Fix misspellings collected by members of KJ list.</title>
<updated>2007-05-09T05:14:03Z</updated>
<author>
<name>Robert P. J. Day</name>
<email>rpjday@mindspring.com</email>
</author>
<published>2007-05-09T05:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=beb7dd86a101263bf63a78c7c6d4da3849b35bd6'/>
<id>urn:sha1:beb7dd86a101263bf63a78c7c6d4da3849b35bd6</id>
<content type='text'>
Fix the misspellings of "propogate", "writting" and (oh, the shame
:-) "kenrel" in the source tree.

Signed-off-by: Robert P. J. Day &lt;rpjday@mindspring.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] sched: likely profiling</title>
<updated>2006-10-11T18:14:22Z</updated>
<author>
<name>Nick Piggin</name>
<email>npiggin@suse.de</email>
</author>
<published>2006-10-11T08:21:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=beed33a816204cb402c69266475b6a60a2433ceb'/>
<id>urn:sha1:beed33a816204cb402c69266475b6a60a2433ceb</id>
<content type='text'>
This likely profiling is pretty fun. I found a few possible problems
in sched.c.

This patch may be not measurable, but when I did measure long ago,
nooping (un)likely cost a couple of % on scheduler heavy benchmarks, so
it all adds up.

Tweak some branch hints:

- the 2nd 64 bits in the bitmask is likely to be populated, because it
  contains the first 28 bits (nearly 3/4) of the normal priorities.
  (ratio of 669669:691 ~= 1000:1).

- it isn't unlikely that context switching switches to another process. it
  might be very rapidly switching to and from the idle process (ratio of
  475815:419004 and 471330:423544). Let the branch predictor decide.

- preempt_enable seems to be very often called in a nested preempt_disable
  or with interrupts disabled (ratio of 3567760:87965 ~= 40:1)

Signed-off-by: Nick Piggin &lt;npiggin@suse.de&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Daniel Walker &lt;dwalker@mvista.com&gt;
Cc: Hua Zhong &lt;hzhong@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit()</title>
<updated>2006-03-26T16:57:11Z</updated>
<author>
<name>Akinobu Mita</name>
<email>mita@miraclelinux.com</email>
</author>
<published>2006-03-26T09:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1bb9522daf2fb49c5793d128023e9ca1e08e13b'/>
<id>urn:sha1:b1bb9522daf2fb49c5793d128023e9ca1e08e13b</id>
<content type='text'>
This patch introduces the C-language equivalents of the functions below:

int minix_test_and_set_bit(int nr, volatile unsigned long *addr);
int minix_set_bit(int nr, volatile unsigned long *addr);
int minix_test_and_clear_bit(int nr, volatile unsigned long *addr);
int minix_test_bit(int nr, const volatile unsigned long *addr);
unsigned long minix_find_first_zero_bit(const unsigned long *addr,
                                        unsigned long size);

In include/asm-generic/bitops/minix.h
   and include/asm-generic/bitops/minix-le.h

This code largely copied from: include/asm-sparc/bitops.h

Signed-off-by: Akinobu Mita &lt;mita@miraclelinux.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
