On Sun, Jan 19, 2014 at 01:41:34AM +0200, Kirill A. Shutemov wrote:
> On Thu, Jan 16, 2014 at 03:01:43PM -0600, Alex Thorlton wrote:
> > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
> > index 91672e2..475f59f 100644
> > --- a/include/linux/huge_mm.h
> > +++ b/include/linux/huge_mm.h
> > @@ -1,6 +1,8 @@
> >  #ifndef _LINUX_HUGE_MM_H
> >  #define _LINUX_HUGE_MM_H
> >  
> > +#include <linux/sched.h>
> > +
> 
> Hm, now <linux/mm.h> depends on <linux/sched.h>. It doesn't look as a good
> idea.
> 
> Why do we have MMF_* defines in <linux/sched.h>?
> Wouldn't it more appropriate to put them in <linux/mm_types.h>?

I'm not sure about that.  I just placed my definitions where everything
else was defined.  It might make more sense to have these in
mm_types.h, though that's a separate effort.  For now, I don't think I
have a choice but to include sched.h here, but it does seem to make
sense that I should be able to see the defined mm flags from huge_mm.h,
without having to include sched.h.  I'm sure there are other places where
this applies as well.

> >  extern int do_huge_pmd_anonymous_page(struct mm_struct *mm,
> >                                   struct vm_area_struct *vma,
> >                                   unsigned long address, pmd_t *pmd,
> > @@ -74,7 +76,8 @@ extern bool is_vma_temporary_stack(struct vm_area_struct 
> > *vma);
> >        (1<<TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG) &&                   \
> >        ((__vma)->vm_flags & VM_HUGEPAGE))) &&                       \
> >      !((__vma)->vm_flags & VM_NOHUGEPAGE) &&                        \
> > -    !is_vma_temporary_stack(__vma))
> > +    !is_vma_temporary_stack(__vma) &&                              \
> > +    !test_bit(MMF_THP_DISABLE, &(__vma)->vm_mm->flags))
> >  #define transparent_hugepage_defrag(__vma)                         \
> >     ((transparent_hugepage_flags &                                  \
> >       (1<<TRANSPARENT_HUGEPAGE_DEFRAG_FLAG)) ||                     \
> > @@ -227,7 +230,6 @@ static inline int do_huge_pmd_numa_page(struct 
> > mm_struct *mm, struct vm_area_str
> >  {
> >     return 0;
> >  }
> > -
> >  #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
> >  
> >  #endif /* _LINUX_HUGE_MM_H */
> 
> Why?

Are you asking about the line I removed there?  That was probably an
accident.  I'll fix that

- Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to