[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zl8GDlOSh56VgRtj@casper.infradead.org>
Date: Tue, 4 Jun 2024 13:18:22 +0100
From: Matthew Wilcox <willy@...radead.org>
To: Usama Arif <usamaarif642@...il.com>
Cc: akpm@...ux-foundation.org, hannes@...xchg.org, yosryahmed@...gle.com,
nphamcs@...il.com, chengming.zhou@...ux.dev, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, kernel-team@...a.com
Subject: Re: [PATCH v2 1/2] mm: clear pte for folios that are zero filled
On Tue, Jun 04, 2024 at 11:58:24AM +0100, Usama Arif wrote:
> +++ b/mm/rmap.c
> @@ -1819,96 +1819,101 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma,
> */
> dec_mm_counter(mm, mm_counter(folio));
> } else if (folio_test_anon(folio)) {
> - swp_entry_t entry = page_swap_entry(subpage);
> - pte_t swp_pte;
> - /*
> - * Store the swap location in the pte.
> - * See handle_pte_fault() ...
> - */
> - if (unlikely(folio_test_swapbacked(folio) !=
> - folio_test_swapcache(folio))) {
> + if (flags & TTU_ZERO_FOLIO) {
> + pte_clear(mm, address, pvmw.pte);
> + dec_mm_counter(mm, MM_ANONPAGES);
> + } else {
This is very hard to review. Is what you've done the same as:
if (flags & TTU_ZERO_FOLIO) {
pte_clear(mm, address, pvmw.pte);
dec_mm_counter(mm, MM_ANONPAGES);
goto discard;
}
? I genuinely can't tell.
Powered by blists - more mailing lists