Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm: hugetlb: allow hugepages_supported to be architecture specific

s390 has a constant hugepage size, by setting HPAGE_SHIFT we also change
e.g. the pageblock_order, which should be independent in respect to
hugepage support.

With this patch every architecture is free to define how to check
for hugepage support.

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>

authored by

Dominik Dingel and committed by
Linus Torvalds
2531c8cf 41318bfe

+8 -9
+8 -9
include/linux/hugetlb.h
··· 460 460 return &mm->page_table_lock; 461 461 } 462 462 463 - static inline bool hugepages_supported(void) 464 - { 465 - /* 466 - * Some platform decide whether they support huge pages at boot 467 - * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when 468 - * there is no such support 469 - */ 470 - return HPAGE_SHIFT != 0; 471 - } 463 + #ifndef hugepages_supported 464 + /* 465 + * Some platform decide whether they support huge pages at boot 466 + * time. Some of them, such as powerpc, set HPAGE_SHIFT to 0 467 + * when there is no such support 468 + */ 469 + #define hugepages_supported() (HPAGE_SHIFT != 0) 470 + #endif 472 471 473 472 #else /* CONFIG_HUGETLB_PAGE */ 474 473 struct hstate {};