Message ID | 20231221065943.2803551-1-shy828301@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/2] mm: mmap: no need to call khugepaged_enter_vma() for stack | expand |
On 2023/12/21 14:59, Yang Shi wrote: > From: Yang Shi <yang@os.amperecomputing.com> > > We avoid allocating THP for temporary stack, even tnough > khugepaged_enter_vma() is called for stack VMAs, it actualy returns > false. So no need to call it in the first place at all. > > Signed-off-by: Yang Shi <yang@os.amperecomputing.com> Reviewed-by: Yin Fengwei <fengwei.yin@intel.com> > --- > mm/mmap.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index b78e83d351d2..2ff79b1d1564 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -2046,7 +2046,6 @@ static int expand_upwards(struct vm_area_struct *vma, unsigned long address) > } > } > anon_vma_unlock_write(vma->anon_vma); > - khugepaged_enter_vma(vma, vma->vm_flags); > mas_destroy(&mas); > validate_mm(mm); > return error; > @@ -2140,7 +2139,6 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) > } > } > anon_vma_unlock_write(vma->anon_vma); > - khugepaged_enter_vma(vma, vma->vm_flags); > mas_destroy(&mas); > validate_mm(mm); > return error;
Yang Shi <shy828301@gmail.com> writes: > From: Yang Shi <yang@os.amperecomputing.com> > > We avoid allocating THP for temporary stack, even tnough ~~~~~~ though? -- Best Regards, Huang, Ying > khugepaged_enter_vma() is called for stack VMAs, it actualy returns > false. So no need to call it in the first place at all. > > Signed-off-by: Yang Shi <yang@os.amperecomputing.com> > --- > mm/mmap.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index b78e83d351d2..2ff79b1d1564 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -2046,7 +2046,6 @@ static int expand_upwards(struct vm_area_struct *vma, unsigned long address) > } > } > anon_vma_unlock_write(vma->anon_vma); > - khugepaged_enter_vma(vma, vma->vm_flags); > mas_destroy(&mas); > validate_mm(mm); > return error; > @@ -2140,7 +2139,6 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) > } > } > anon_vma_unlock_write(vma->anon_vma); > - khugepaged_enter_vma(vma, vma->vm_flags); > mas_destroy(&mas); > validate_mm(mm); > return error;
On Sun, Jan 14, 2024 at 9:52 PM Huang, Ying <ying.huang@intel.com> wrote: > > Yang Shi <shy828301@gmail.com> writes: > > > From: Yang Shi <yang@os.amperecomputing.com> > > > > We avoid allocating THP for temporary stack, even tnough > ~~~~~~ > though? Yeah, it is a typo. Thanks for noticing this. > > -- > Best Regards, > Huang, Ying > > > khugepaged_enter_vma() is called for stack VMAs, it actualy returns > > false. So no need to call it in the first place at all. > > > > Signed-off-by: Yang Shi <yang@os.amperecomputing.com> > > --- > > mm/mmap.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/mm/mmap.c b/mm/mmap.c > > index b78e83d351d2..2ff79b1d1564 100644 > > --- a/mm/mmap.c > > +++ b/mm/mmap.c > > @@ -2046,7 +2046,6 @@ static int expand_upwards(struct vm_area_struct *vma, unsigned long address) > > } > > } > > anon_vma_unlock_write(vma->anon_vma); > > - khugepaged_enter_vma(vma, vma->vm_flags); > > mas_destroy(&mas); > > validate_mm(mm); > > return error; > > @@ -2140,7 +2139,6 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) > > } > > } > > anon_vma_unlock_write(vma->anon_vma); > > - khugepaged_enter_vma(vma, vma->vm_flags); > > mas_destroy(&mas); > > validate_mm(mm); > > return error;
diff --git a/mm/mmap.c b/mm/mmap.c index b78e83d351d2..2ff79b1d1564 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2046,7 +2046,6 @@ static int expand_upwards(struct vm_area_struct *vma, unsigned long address) } } anon_vma_unlock_write(vma->anon_vma); - khugepaged_enter_vma(vma, vma->vm_flags); mas_destroy(&mas); validate_mm(mm); return error; @@ -2140,7 +2139,6 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) } } anon_vma_unlock_write(vma->anon_vma); - khugepaged_enter_vma(vma, vma->vm_flags); mas_destroy(&mas); validate_mm(mm); return error;