Re: [PATCH] mm/madvise: fix madvise_pageout for private file mappings

From: Pavan Kondeti
Date: Thu Dec 01 2022 - 08:37:14 EST


Hi David,

Thanks for your review.

On Thu, Dec 01, 2022 at 02:01:22PM +0100, David Hildenbrand wrote:
> >+ * If the VMA belongs to a private file mapping, there can be private
> >+ * dirty pages which can be paged out if even this process is neither
> >+ * owner nor write capable of the file. Cache the file access check
> >+ * here and use it later during page walk.
> >+ */
> >+ can_pageout_file = can_do_file_pageout(vma);
>
> Why not move that into madvise_pageout_page_range() ? Avoids passing this
> variable to that function.
>
Silly me. I should have done that in the first place.

> In fact, why not even call that function directly instead of storing that in
> madvise_walk_private(). The function is extremely lightweight.

Agreed. I will incorporate your suggestion and send the patch after testing.

>
> > lru_add_drain();
> > tlb_gather_mmu(&tlb, mm);
> >- madvise_pageout_page_range(&tlb, vma, start_addr, end_addr);
> >+ madvise_pageout_page_range(&tlb, vma, start_addr, end_addr, can_pageout_file);
> > tlb_finish_mmu(&tlb);
> > return 0;
>
Thanks,
Pavan