Commit 4b7167b9 authored by Andrea Arcangeli's avatar Andrea Arcangeli Committed by Linus Torvalds

thp: don't allow transparent hugepage support without PSE

Archs implementing Transparent Hugepage Support must implement a function
called has_transparent_hugepage to be sure the virtual or physical CPU
supports Transparent Hugepages.
Signed-off-by: default avatarAndrea Arcangeli <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent 94fcc585
......@@ -160,6 +160,11 @@ static inline int pmd_trans_huge(pmd_t pmd)
return pmd_val(pmd) & _PAGE_PSE;
static inline int has_transparent_hugepage(void)
return cpu_has_pse;
static inline pte_t pte_set_flags(pte_t pte, pteval_t set)
......@@ -487,7 +487,15 @@ static int __init hugepage_init(void)
int err;
static struct kobject *hugepage_kobj;
err = -EINVAL;
if (!has_transparent_hugepage()) {
transparent_hugepage_flags = 0;
goto out;
err = -ENOMEM;
hugepage_kobj = kobject_create_and_add("transparent_hugepage", mm_kobj);
if (unlikely(!hugepage_kobj)) {
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment