linux-stable/arch
Johannes Weiner 0aad818b2d sparse-vmemmap: specify vmemmap population range in bytes
The sparse code, when asking the architecture to populate the vmemmap,
specifies the section range as a starting page and a number of pages.

This is an awkward interface, because none of the arch-specific code
actually thinks of the range in terms of 'struct page' units and always
translates it to bytes first.

In addition, later patches mix huge page and regular page backing for
the vmemmap.  For this, they need to call vmemmap_populate_basepages()
on sub-section ranges with PAGE_SIZE and PMD_SIZE in mind.  But these
are not necessarily multiples of the 'struct page' size and so this unit
is too coarse.

Just translate the section range into bytes once in the generic sparse
code, then pass byte ranges down the stack.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Bernhard Schmidt <Bernhard.Schmidt@lrz.de>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: David S. Miller <davem@davemloft.net>
Tested-by: David S. Miller <davem@davemloft.net>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-04-29 15:54:35 -07:00
..
alpha mm/alpha: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
arc mm/arc: use common help functions to free reserved pages 2013-04-29 15:54:31 -07:00
arm arm: set the page table freeing ceiling to TASK_SIZE 2013-04-29 15:54:34 -07:00
arm64 sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
avr32 mm/avr32: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
blackfin mm/blackfin: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
c6x mm/c6x: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
cris mm/cris: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
frv mm/FRV: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
h8300 mm/h8300: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
ia64 sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
m32r mm/m32r: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
m68k mm/m68k: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
metag mm/metag: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
microblaze mm/microblaze: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
mips mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
mn10300 mm/mn10300: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
openrisc mm/openrisc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
parisc mm/parisc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
powerpc sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
s390 sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
score mm/score: use common help functions to free reserved pages 2013-04-29 15:54:31 -07:00
sh mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
sparc sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
tile mm, vmalloc: change iterating a vmlist to find_vm_area() 2013-04-29 15:54:33 -07:00
um mm/um: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
unicore32 mm, vmalloc: change iterating a vmlist to find_vm_area() 2013-04-29 15:54:33 -07:00
x86 sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
xtensa mm/xtensa: use common help functions to free reserved pages 2013-04-29 15:54:31 -07:00
.gitignore
Kconfig Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00