On 23.04.2014 [11:24:42 -0700], Andrew Morton wrote: > On Wed, 23 Apr 2014 14:16:00 -0400 Luiz Capitulino <lcapitulino@xxxxxxxxxx> wrote: > > > On Wed, 23 Apr 2014 10:48:27 -0700 > > > >>> You will need quilt to apply these patches to the latest Linus release (3.x > > > >>> or 3.x-rcY). The series file is in broken-out.tar.gz and is duplicated in > > > >>> http://ozlabs.org/~akpm/mmotm/series > > > >>> > > > >> > > > >> include/linux/hugetlb.h:468:9: error: 'HPAGE_SHIFT' undeclared (first use in this function) > > > > > > > > The patch adding HPAGE_SHIFT usage to hugetlb.h in current mmotm is this: > > > > > > > > http://www.ozlabs.org/~akpm/mmotm/broken-out/hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch > > > > > > > > But I can't reproduce the issue to be sure what the problem is. Are you > > > > building the kernel on 32bits? Can you provide the output of > > > > "grep -i huge .config" or send your .config in private? > > > > > > > > > > [adding Richard to cc:] > > > > > > > > > As in $subject, if I build uml x86 32-bit or 64-bit defconfig, the build fails with > > > this error. > > > > Oh, I missed the subject info completely. Sorry about that. > > > > So, the issue really seems to be introduced by patch: > > > > hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch > > > > And the problem is that UML doesn't define HPAGE_SHIFT. The following patch > > fixes it, but I'll let Nishanth decide what to do here. > > I'll try moving hugepages_supported() into the #ifdef > CONFIG_HUGETLB_PAGE section. This does seem like the right fix, I apologize for not doing enough build coverage! Acked-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> > --- a/include/linux/hugetlb.h~hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported-fix-fix > +++ a/include/linux/hugetlb.h > @@ -412,6 +412,16 @@ static inline spinlock_t *huge_pte_lockp > return &mm->page_table_lock; > } > > +static inline bool hugepages_supported(void) > +{ > + /* > + * Some platform decide whether they support huge pages at boot > + * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when > + * there is no such support > + */ > + return HPAGE_SHIFT != 0; > +} > + > #else /* CONFIG_HUGETLB_PAGE */ > struct hstate {}; > #define alloc_huge_page_node(h, nid) NULL > @@ -460,14 +470,4 @@ static inline spinlock_t *huge_pte_lock( > return ptl; > } > > -static inline bool hugepages_supported(void) > -{ > - /* > - * Some platform decide whether they support huge pages at boot > - * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when > - * there is no such support > - */ > - return HPAGE_SHIFT != 0; > -} > - > #endif /* _LINUX_HUGETLB_H */ > _ > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>