On 11/10/2014 09:03 AM, Ralf Baechle wrote:
On Mon, Nov 10, 2014 at 08:55:09AM -0800, David Daney wrote:
Yes, you may be on to something here. Certianly basic huge TLB support must
be in place for TRANSPARENT_HUGEPAGE to work.
It could be that the Kconfig symbols for the various portions of huge page
support are missing the required dependencies.
FWIW, I always build with a huge page Kconfig options set.
I have:
$ grep HUGE .config
CONFIG_SYS_SUPPORTS_HUGETLBFS=y
CONFIG_MIPS_HUGE_TLB_SUPPORT=y
CONFIG_CPU_SUPPORTS_HUGEPAGES=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
I suspect that you may not need CONFIG_HUGETLBFS, but CONFIG_HUGETLB_PAGE is
probably essential.
IP27 also has NUMA as the only in-tree MIPS system - and it's NUMA support
is not in the best support state to say the least. Just an observation -
at this point in time there is no obvious connection between either
R10000 <-> transparent huge page
or
NUMA <-> transparent huge page
Ralf
FYI, I am running with CONFIG_TRANSPARENT_HUGEPAGE on a 2-node NUMA
system (48 CPUs per node) OCTEON III, and the huge pages have not been
an issue. So I don't think there are any inherent NUMA issues with
HUGEPAGES.
David Daney