linux/arch/s390/mm
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
..
Makefile s390/memory hotplug: use pfmf instruction to initialize storage keys 2012-11-23 11:14:30 +01:00
cmm.c s390/cmm: Removed useless label 2013-04-17 14:07:27 +02:00
dump_pagetables.c s390/page table dumper: add support for change-recording override bit 2013-02-28 09:37:06 +01:00
extable.c s390/exceptions: switch to relative exception table entries 2012-09-26 15:45:10 +02:00
extmem.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
fault.c s390/mm: protection exception PSW for aborted transaction 2013-04-17 12:31:31 +02:00
gup.c s390/gup: fix access_ok() usage in __get_user_pages_fast() 2012-11-13 11:02:28 +01:00
hugetlbpage.c mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
init.c mm/s390: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
maccess.c s390/kernel: Introduce memcpy_absolute() function 2012-05-30 09:04:49 +02:00
mmap.c s390/mm: Fix crst upgrade of mmap with MAP_FIXED 2013-02-14 15:55:22 +01:00
page-states.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pageattr.c s390/mm: speedup storage key initialization 2013-04-17 14:07:29 +02:00
pgtable.c s390/mm,gmap: segment mapping race 2013-04-23 10:18:04 +02:00
vmem.c sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00