lkml.org 
[lkml]   [2024]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v9 3/4] mm/memory: add any_dirty optional pointer to folio_pte_batch()
From
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@redhat.com>
> Signed-off-by: Lance Yang <ioworker0@gmail.com>
> ---
> 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.
> *

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.

But let's do that separately.

Acked-by: David Hildenbrand <david@redhat.com>

--
Cheers,

David / dhildenb


\
 
 \ /
  Last update: 2024-04-18 14:01    [W:0.070 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site