diff options
author | Dominik Dingel <dingel@linux.vnet.ibm.com> | 2015-07-17 16:23:39 -0700 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2016-06-15 21:28:12 +0100 |
commit | b1d4ae226d90f4656a4a8eeb807d4d06ca4c13b4 (patch) | |
tree | 04cbfa1a2657731416a090c660a00dc9eabf57cf /arch/s390 | |
parent | eb67feac907a5a0f991b902b4746231e175d624b (diff) | |
download | linux-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.h | 1 |
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); |