[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <78B2DE9B-C9D5-4E3F-8328-427590C5A610@gmail.com>
Date: Sat, 12 Nov 2022 11:37:12 -0800
From: Nadav Amit <nadav.amit@...il.com>
To: Mike Kravetz <mike.kravetz@...cle.com>
Cc: Linux-MM <linux-mm@...ck.org>,
kernel list <linux-kernel@...r.kernel.org>,
Naoya Horiguchi <naoya.horiguchi@...ux.dev>,
David Hildenbrand <david@...hat.com>,
Axel Rasmussen <axelrasmussen@...gle.com>,
Mina Almasry <almasrymina@...gle.com>,
Peter Xu <peterx@...hat.com>, Rik van Riel <riel@...riel.com>,
Vlastimil Babka <vbabka@...e.cz>,
Matthew Wilcox <willy@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH v9 0/3] fix hugetlb MADV_DONTNEED vma_lock handling
On Nov 11, 2022, at 3:26 PM, Mike Kravetz <mike.kravetz@...cle.com> wrote:
> This series addresses the issue first reported in [1], and fully
> described in patch 3. While exploring solutions to this issue,
> related problems with mmu notification calls were discovered. The
> first two patches address those issues.
>
> Previous discussions suggested further cleanup by removing the
> routine zap_page_range. This is possible because zap_page_range_single
> is now exported, and all callers of zap_page_range pass ranges entirely
> within a single vma. This work will be done in a later patch so as not
> to distract from this bug fix.
>
> [1] https://lore.kernel.org/lkml/CAO4mrfdLMXsao9RF4fUE8-Wfde8xmjsKrTNMNC9wjUb6JudD0g@mail.gmail.com/
>
> Mike Kravetz (3):
> madvise: use zap_page_range_single for madvise dontneed
> hugetlb: remove duplicate mmu notifications
> hugetlb: don't delete vma_lock in hugetlb MADV_DONTNEED processing
>
> include/linux/mm.h | 29 +++++++++++++++++++++--------
> mm/hugetlb.c | 45 +++++++++++++++++++++++++--------------------
> mm/madvise.c | 6 +++---
> mm/memory.c | 25 ++++++++++++-------------
> 4 files changed, 61 insertions(+), 44 deletions(-)
With my limited knowledge of hugetlbfs, it all looks good.
Having said that - 2 random thoughts:
1. It is more intuitive to me to have
mmu_notifier_invalidate_range_{start|end}() next to tlb_{start|end}_vma().
I think that one day these two should have been combined into a
single function, which could have also executed
adjust_range_if_pmd_sharing_possible() as needed.
2. If you still have a concern of exposing zap_details as you had in the
past (not that I care), consider putting zap_details and
zap_page_range_single() in mm/internal.h.
Thanks,
Nadav
Powered by blists - more mailing lists