public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Mundt <lethal@linux-sh.org>
To: Nish Aravamudan <nish.aravamudan@gmail.com>
Cc: Adrian Bunk <bunk@kernel.org>,
	wli@holomorphy.com, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: HugeTLB vs. SH3 cpu
Date: Wed, 2 Apr 2008 17:04:48 +0900	[thread overview]
Message-ID: <20080402080448.GA4171@linux-sh.org> (raw)
In-Reply-To: <29495f1d0804011626n2399d69aj7566df7f78953458@mail.gmail.com>

On Tue, Apr 01, 2008 at 04:26:14PM -0700, Nish Aravamudan wrote:
> On 4/1/08, Adrian Bunk <bunk@kernel.org> wrote:
> > fs/Kconfig says:
> >
> >  config HUGETLBFS
> >         bool "HugeTLB file system support"
> >         depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || BROKEN
> >
> >
> >  arch/sh/mm/Kconfig says:
> >
> >  choice
> >         prompt "HugeTLB page size"
> >         depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU
> 
> So the problem is that SH3 is allowed to enable
> HUGETLB_PAGE/HUGETLBFS, but only SH4/5 define the HPAGE_SHIFT macro,
> due to some #ifdeffery on the hugepage size. So either the choice
> needs to be extended to include CPU_SH3 (which builds here, when
> changed) or the HUGETLBFS conditional needs to depend more
> specifically on SH4/5 and not just SUPERH. I think the arch maintainer
> has to make that call, as I don't know the hardware to say if SH3
> actually supports multiple hugepage sizes.
> 
The problem is that the hugetlb Kconfig stuff is a complete mess. There's
a semi-decoupling between HUGETLBFS and HUGETLB_PAGE, though they both
depend on each other.

Sorting out the mess noted by Adrian is pretty trivial with a
HAVE_HUGETLB_PAGE. How about this?

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

---

 arch/ia64/Kconfig                      |    1 +
 arch/powerpc/platforms/Kconfig.cputype |    1 +
 arch/sh/Kconfig                        |    2 ++
 arch/sparc64/Kconfig                   |    1 +
 arch/x86/Kconfig                       |    1 +
 fs/Kconfig                             |    3 ++-
 mm/Kconfig                             |    3 +++
 7 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 8fa3faf..bb1e02b 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -19,6 +19,7 @@ config IA64
 	select HAVE_OPROFILE
 	select HAVE_KPROBES
 	select HAVE_KRETPROBES
+	select HAVE_HUGETLB_PAGE
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index 0c3face..7c937ad 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -1,5 +1,6 @@
 config PPC64
 	bool "64-bit kernel"
+	select HAVE_HUGETLB_PAGE
 	default n
 	help
 	  This option selects whether a 32-bit or a 64-bit kernel
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index df2e2f9..c48f629 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -114,6 +114,7 @@ config CPU_SH3
 
 config CPU_SH4
 	bool
+	select HAVE_HUGETLB_PAGE
 	select CPU_HAS_INTEVT
 	select CPU_HAS_SR_RB
 	select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
@@ -130,6 +131,7 @@ config CPU_SH4AL_DSP
 
 config CPU_SH5
 	bool
+	select HAVE_HUGETLB_PAGE
 	select CPU_HAS_FPU
 
 config CPU_SHX2
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 463d1be..3045673 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -16,6 +16,7 @@ config SPARC64
 	bool
 	default y
 	select HAVE_IDE
+	select HAVE_HUGETLB_PAGE
 	help
 	  SPARC is a family of RISC microprocessors designed and marketed by
 	  Sun Microsystems, incorporated.  This port covers the newer 64-bit
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6c70fed..d91e7b7 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -22,6 +22,7 @@ config X86
 	select HAVE_OPROFILE
 	select HAVE_KPROBES
 	select HAVE_KRETPROBES
+	select HAVE_HUGETLB_PAGE
 	select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
 
 
diff --git a/fs/Kconfig b/fs/Kconfig
index d731282..f886ae2 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -978,7 +978,7 @@ config TMPFS_POSIX_ACL
 
 config HUGETLBFS
 	bool "HugeTLB file system support"
-	depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || BROKEN
+	depends on HAVE_HUGETLB_PAGE || BROKEN
 	help
 	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
 	  ramfs. For architectures that support it, say Y here and read
@@ -987,6 +987,7 @@ config HUGETLBFS
 	  If unsure, say N.
 
 config HUGETLB_PAGE
+	depends on MMU
 	def_bool HUGETLBFS
 
 config CONFIGFS_FS
diff --git a/mm/Kconfig b/mm/Kconfig
index 0016ebd..3113374 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -90,6 +90,9 @@ config HAVE_MEMORY_PRESENT
 	def_bool y
 	depends on ARCH_HAVE_MEMORY_PRESENT || SPARSEMEM
 
+config HAVE_HUGETLB_PAGE
+	def_bool n
+
 #
 # SPARSEMEM_EXTREME (which is the default) does some bootmem
 # allocations when memory_present() is called.  If this cannot

  reply	other threads:[~2008-04-02  8:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01 22:58 HugeTLB vs. SH3 cpu Adrian Bunk
2008-04-01 23:26 ` Nish Aravamudan
2008-04-02  8:04   ` Paul Mundt [this message]
2008-04-02 10:15     ` Mel Gorman
2008-04-03  5:52       ` Paul Mundt
2008-04-02 22:55     ` Nishanth Aravamudan
2008-04-03  0:06       ` Dave Hansen
2008-04-03  5:48         ` Paul Mundt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080402080448.GA4171@linux-sh.org \
    --to=lethal@linux-sh.org \
    --cc=bunk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=nish.aravamudan@gmail.com \
    --cc=wli@holomorphy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox