[Top] [All Lists]

[patch] hugetlb: remove dummy definitions of HPAGE_MASK and HPAGE_SIZE

To: Andrew Morton <>
Subject: [patch] hugetlb: remove dummy definitions of HPAGE_MASK and HPAGE_SIZE
From: David Rientjes <>
Date: Thu, 17 Nov 2011 15:22:53 -0800 (PST)
Cc: David Daney <>,,,, David Daney <>,, Robin Holt <>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=beta; h=date:from:x-x-sender:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type; bh=5LwffRv1x2KyeQsqQpo9eY8Lr1rGnxyM+DpcBa2mhL0=; b=JfRqMyNTQJusz92nVUDpzok+cUwwO+5IVhrQRe9UJNMI9EsAVyX2Mi7tiUUzcRLO9B pfhMvKCKaaMp3G8e9GSg==
In-reply-to: <>
References: <> <>
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
Dummy, non-zero definitions for HPAGE_MASK and HPAGE_SIZE were added in
51c6f666fceb ("mm: ZAP_BLOCK causes redundant work") to avoid a divide
by zero in generic kernel code.

That code has since been removed, but probably should never have been
added in the first place: we don't want HPAGE_SIZE to act like PAGE_SIZE
for code that is working with hugepages, for example, when the dependency
on CONFIG_HUGETLB_PAGE has not been fulfilled.

Because hugepage size can differ from architecture to architecture, each
is required to have their own definitions for both HPAGE_MASK and
HPAGE_SIZE.  This is always done in arch/*/include/asm/page.h.

So, just remove the dummy and dangerous definitions since they are no
longer needed and reveals the correct dependencies.  Tested on
architectures using the definitions with allyesconfig: x86 (even with
thp), hppa, mips, powerpc, s390, sh3, sh4, sparc, and sparc64, and
with defconfig on ia64.

Cc: Robin Holt <>
Cc: David Daney <>
Signed-off-by: David Rientjes <>
 include/linux/hugetlb.h |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -110,11 +110,6 @@ static inline void copy_huge_page(struct page *dst, struct 
page *src)
 #define hugetlb_change_protection(vma, address, end, newprot)
-#ifndef HPAGE_MASK
-#define HPAGE_MASK     PAGE_MASK               /* Keep the compiler happy */
 #endif /* !CONFIG_HUGETLB_PAGE */
 #define HUGETLB_ANON_FILE "anon_hugepage"

<Prev in Thread] Current Thread [Next in Thread>