On Thu, Apr 18, 2024 at 8:00 PM David Hildenbrand <david@xxxxxxxxxx> wrote: > > On 18.04.24 12:57, Lance Yang wrote: > > This commit adds the any_dirty pointer as an optional parameter to > > folio_pte_batch() function. By using both the any_young and any_dirty pointers, > > madvise_free can make smarter decisions about whether to clear the PTEs when > > marking large folios as lazyfree. > > > > Suggested-by: David Hildenbrand <david@xxxxxxxxxx> > > Signed-off-by: Lance Yang <ioworker0@xxxxxxxxx> > > --- > > mm/internal.h | 12 ++++++++++-- > > mm/madvise.c | 19 ++++++++++++++----- > > mm/memory.c | 4 ++-- > > 3 files changed, 26 insertions(+), 9 deletions(-) > > > > diff --git a/mm/internal.h b/mm/internal.h > > index c6483f73ec13..daa59cef85d7 100644 > > --- a/mm/internal.h > > +++ b/mm/internal.h > > @@ -134,6 +134,8 @@ static inline pte_t __pte_batch_clear_ignored(pte_t pte, fpb_t flags) > > * first one is writable. > > * @any_young: Optional pointer to indicate whether any entry except the > > * first one is young. > > + * @any_dirty: Optional pointer to indicate whether any entry except the > > + * first one is dirty. > > * > Hey David, Thanks for taking time to review! > I was also wondering if we should make that function return a > pte+nr_pages, instead of only nr_pages, and then simply have the > function, based on new flags, merge data into the original PTE. > Nice, good idea! > But let's do that separately. Yep, let's do that separately :p > > Acked-by: David Hildenbrand <david@xxxxxxxxxx> Thanks again for the review! Lance > > -- > Cheers, > > David / dhildenb >