linux/arch/arm64
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
..
boot arm64: dts: prevent *.dtb from always being rebuilt 2013-01-14 08:08:28 -06:00
configs arm64: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS 2013-03-19 16:19:19 +00:00
include arm64: fix padding computation in struct ucontext 2013-03-18 10:42:16 +00:00
kernel arm64: Fix build error with !SMP 2013-03-18 10:42:14 +00:00
lib arm64: Miscellaneous library functions 2012-09-17 13:42:18 +01:00
mm sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
Kconfig arm64: Do not select GENERIC_HARDIRQS_NO_DEPRECATED 2013-03-19 15:39:46 +00:00
Kconfig.debug arm64: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS 2013-03-19 16:19:19 +00:00
Makefile arm64: Fix the dtbs target building 2012-12-10 20:24:57 -06:00