On Wed, 16 Nov 2011, David Daney wrote: > > > This is required now to get MIPS kernels to compile with > > > !CONFIG_HUGETLB_PAGE. > > > > > > > Why? > > I should have been more specific. The failure is in Ralf's > mips-for-linux-next branch. > I can't find that branch (it's not in Ralf's tree at git.kernel.org), so I'm looking at next-20111116. It doesn't compile for mips for other reasons related to arch/mips/sgi-ip22/ip22-gio.c. > > This is definitely the wrong fix, anyway, and it would require a change to > > arch/mips/include/asm/page.h instead since it's localized to mips, > > No, all we are doing is supplying a dummy definition for HPAGE_SHIFT as we > currently have for HPAGE_SIZE and HPAGE_MASK. > Which is wrong. MIPS code should not be using HPAGE_SHIFT without CONFIG_HUGETLB_PAGE and in fact defines it itself for such a configuration in arch/mips/include/asm/page.h. The only generic uses are in page_alloc.c where we need CONFIG_HUGETLB_PAGE_SIZE_VARIABLE, which isn't available on mips, and in mm/hugetlb.c which requires CONFIG_HUGETLB_PAGE by way of CONFIG_HUGETLBFS. So feel free to show the actual compile error this time and I'll suggest a mips fix for it. > > so nack. > > > > > Signed-off-by: David Daney<david.daney@xxxxxxxxxx> > > > --- > > > include/linux/hugetlb.h | 1 + > > > 1 files changed, 1 insertions(+), 0 deletions(-) > > > > > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > > > index 19644e0..746d543 100644 > > > --- a/include/linux/hugetlb.h > > > +++ b/include/linux/hugetlb.h > > > @@ -113,6 +113,7 @@ static inline void copy_huge_page(struct page *dst, > > > struct page *src) > > > #ifndef HPAGE_MASK > > > #define HPAGE_MASK PAGE_MASK /* Keep the compiler > > > happy */ > > > #define HPAGE_SIZE PAGE_SIZE > > Why didn't you NACK the addition of these two lines too? > > Following your logic, we should remove these and patch up all the architecture > specific files instead. > I think it's a worthwhile goal to remove these as well, yes.