summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorDominik Dingel <dingel@linux.vnet.ibm.com>2015-07-17 16:23:39 -0700
committerBen Hutchings <ben@decadent.org.uk>2016-06-15 21:28:12 +0100
commitb1d4ae226d90f4656a4a8eeb807d4d06ca4c13b4 (patch)
tree04cbfa1a2657731416a090c660a00dc9eabf57cf /arch/s390
parenteb67feac907a5a0f991b902b4746231e175d624b (diff)
downloadlinux-stable-b1d4ae226d90f4656a4a8eeb807d4d06ca4c13b4.tar.gz
linux-stable-b1d4ae226d90f4656a4a8eeb807d4d06ca4c13b4.tar.bz2
linux-stable-b1d4ae226d90f4656a4a8eeb807d4d06ca4c13b4.zip
s390/hugetlb: add hugepages_supported define
commit 7f9be77555bb2e52de84e9dddf7b4eb20cc6e171 upstream. On s390 we only can enable hugepages if the underlying hardware/hypervisor also does support this. Common code now would assume this to be signaled by setting HPAGE_SHIFT to 0. But on s390, where we only support one hugepage size, there is a link between HPAGE_SHIFT and pageblock_order. So instead of setting HPAGE_SHIFT to 0, we will implement the check for the hardware capability. Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com> Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/hugetlb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/include/asm/hugetlb.h b/arch/s390/include/asm/hugetlb.h
index 799ed0f1643d..dcd46cba4ec3 100644
--- a/arch/s390/include/asm/hugetlb.h
+++ b/arch/s390/include/asm/hugetlb.h
@@ -14,6 +14,7 @@
#define is_hugepage_only_range(mm, addr, len) 0
#define hugetlb_free_pgd_range free_pgd_range
+#define hugepages_supported() (MACHINE_HAS_HPAGE)
void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
pte_t *ptep, pte_t pte);