[PATCH] bitmap: region cleanup
Paul Jackson authored

Paul Mundt <lethal@linux-sh.org> says:

This patch set implements a number of patches to clean up and restructure the
bitmap region code, in addition to extending the interface to support
multiword spanning allocations.

The current implementation (before this patch set) is limited by only being
able to allocate pages <= BITS_PER_LONG, as noted by the strategically
positioned BUG_ON() at lib/bitmap.c:752:

        /* We don't do regions of pages > BITS_PER_LONG.  The
	 * algorithm would be a simple look for multiple zeros in the
	 * array, but there's no driver today that needs this.  If you
	 * trip this BUG(), you get to code it... */
        BUG_ON(pages > BITS_PER_LONG);

As I seem to have been the first person to trigger this, the result ends up
being the following patch set with the help of Paul Jackson.

The final patch in the series eliminates quite a bit of code duplication, so
the bitmap code size ends up being smaller than the current implementation as
an added bonus.

After these are applied, it should already be possible to do multiword
allocations with dma_alloc_coherent() out of ranges established by
dma_declare_coherent_memory() on x86 without having to change any of the code,
and the SH store queue API will follow up on this as the other user that needs
support for this.

This patch:

Some code cleanup on the lib/bitmap.c bitmap_*_region() routines:

 * spacing
 * variable names
 * comments

Has no change to code function.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
87e24802
Name Last commit Last update
..
acpi [PATCH] acpi: export acpi_bus_trim
asm-alpha [PATCH] remove ISA legacy functions: remove the helpers
asm-arm [PATCH] remove ISA legacy functions: remove the helpers
asm-arm26 [PATCH] add asm-generic/mman.h
asm-cris [PATCH] add asm-generic/mman.h
asm-frv [PATCH] add asm-generic/mman.h
asm-generic [PATCH] more for_each_cpu() conversions
asm-h8300 [PATCH] add asm-generic/mman.h
asm-i386 [PATCH] remove ISA legacy functions: remove the helpers
asm-ia64 [PATCH] atomic: add_unless cmpxchg optimise
asm-m32r [PATCH] m32r: fix and update for gcc-4.0
asm-m68k [PATCH] atomic: add_unless cmpxchg optimise
asm-m68knommu [PATCH] m68knommu: hardirq.h needs definition of NR_IRQS
asm-mips [PATCH] remove ISA legacy functions: remove the helpers
asm-parisc [PATCH] remove ISA legacy functions: remove the helpers
asm-powerpc [PATCH] more for_each_cpu() conversions
asm-ppc powerpc: Implement accurate task and CPU time accounting
asm-s390 [PATCH] s390: BUG() warnings
asm-sh [PATCH] remove ISA legacy functions: remove the helpers
asm-sh64 [PATCH] mm: remove set_pgdir leftovers
asm-sparc [SPARC]: Respect vm_page_prot in io_remap_page_range().
asm-sparc64 [PATCH] more for_each_cpu() conversions
asm-um [PATCH] x86: SMP alternatives
asm-v850 [PATCH] add asm-generic/mman.h
asm-x86_64 [PATCH] remove ISA legacy functions: remove the helpers
asm-xtensa
keys
linux
math-emu
media
mtd
net
pcmcia
rdma
rxrpc
scsi
sound
video