linux/arch/powerpc/mm
Naoya Horiguchi c177c81e09 hugetlb: restrict hugepage_migration_support() to x86_64
Currently hugepage migration is available for all archs which support
pmd-level hugepage, but testing is done only for x86_64 and there're
bugs for other archs.  So to avoid breaking such archs, this patch
limits the availability strictly to x86_64 until developers of other
archs get interested in enabling this feature.

Simply disabling hugepage migration on non-x86_64 archs is not enough to
fix the reported problem where sys_move_pages() hits the BUG_ON() in
follow_page(FOLL_GET), so let's fix this by checking if hugepage
migration is supported in vma_migratable().

Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Tested-by: Michael Ellerman <mpe@ellerman.id.au>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: David Miller <davem@davemloft.net>
Cc: <stable@vger.kernel.org>	[3.12+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-06-04 16:53:51 -07:00
..
40x_mmu.c memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
44x_mmu.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
Makefile powerpc/THP: Add code to handle HPTE faults for hugepages 2013-06-21 16:01:56 +10:00
dma-noncoherent.c mm/arch: use __free_reserved_page() to simplify the code 2013-11-13 12:09:03 +09:00
fault.c arch: mm: pass userspace fault flag to generic fault handler 2013-09-12 15:38:01 -07:00
fsl_booke_mmu.c powerpc/e6500: TLB miss handler with hardware tablewalk support 2014-01-09 17:52:19 -06:00
gup.c powerpc/mm: NUMA pte should be handled via slow path in get_user_pages_fast() 2014-04-09 12:53:03 +10:00
hash_low_32.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
hash_low_64.S powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
hash_native_64.c powerpc/mm: Fix tlbie to add AVAL fields for 64K pages 2014-04-28 13:11:24 +10:00
hash_utils_64.c DeviceTree for 3.16: 2014-06-04 10:02:38 -07:00
highmem.c mm: fix race in kunmap_atomic() 2010-10-27 18:03:05 -07:00
hugepage-hash64.c powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
hugetlbpage-book3e.c powerpc/fsl-book3e-64: Use paca for hugetlb TLB1 entry selection 2014-01-09 17:52:20 -06:00
hugetlbpage-hash64.c powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
hugetlbpage.c hugetlb: restrict hugepage_migration_support() to x86_64 2014-06-04 16:53:51 -07:00
icswx.c powerpc: Fix typo "CONFIG_ICSWX_PID" 2013-04-18 13:03:54 +10:00
icswx.h powerpc/icswx: Fix race condition with IPI setting ACOP 2012-03-07 17:06:09 +11:00
icswx_pid.c powerpc: Split ICSWX ACOP and PID processing 2011-11-25 14:11:27 +11:00
init_32.c powerpc/8xx: Fixing memory init issue with CONFIG_PIN_TLB 2013-10-28 21:11:22 -05:00
init_64.c powerpc: Prepare to support kernel handling of IOMMU map/unmap 2013-10-11 17:24:39 +11:00
mem.c powerpc/pseries: Use remove_memory() to remove memory 2014-03-07 15:53:13 +11:00
mmap.c mm: remove free_area_cache 2013-07-10 18:11:34 -07:00
mmu_context_hash32.c powerpc: include export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:38 -04:00
mmu_context_hash64.c powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
mmu_context_nohash.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
mmu_decl.h powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00
numa.c powerpc/mm: fix ".__node_distance" undefined 2014-04-18 16:40:08 -07:00
pgtable.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
pgtable_32.c powerpc: add barrier after writing kernel PTE 2014-01-09 17:52:19 -06:00
pgtable_64.c powerpc/mm: Make sure a local_irq_disable prevent a parallel THP split 2014-03-24 09:48:34 +11:00
ppc_mmu_32.c memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
slb.c KVM: PPC: Book3S PR: Rework SLB switching code 2014-05-30 14:26:30 +02:00
slb_low.S powerpc: Rename USER_ESID_BITS* to ESID_BITS* 2013-03-17 12:45:44 +11:00
slice.c powerpc/mm: Fix mmap errno when MAP_FIXED is set and mapping exceeds the allowed address space 2014-01-29 17:02:25 +11:00
stab.c powerpc/mm: Remove uses of abs_to_virt() and virt_to_abs() 2012-09-05 15:19:31 +10:00
subpage-prot.c powerpc/mm: Add new "set" flag argument to pte/pmd update function 2014-02-17 11:19:35 +11:00
tlb_hash32.c powerpc: include export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:38 -04:00
tlb_hash64.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
tlb_low_64e.S powerpc/booke64: Use SPRG_TLB_EXFRAME on bolted handlers 2014-03-19 19:57:15 -05:00
tlb_nohash.c powerpc/booke64: Critical and machine check exception support 2014-03-19 19:57:27 -05:00
tlb_nohash_low.S powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00