lkml.org 
[lkml]   [2014]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCHv2 1/2] Add mm flag to control THP
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


\
 
 \ /
  Last update: 2014-01-20 19:01    [W:3.052 / U:0.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site