[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z2D-5y65onX_qOLi@casper.infradead.org>
Date: Tue, 17 Dec 2024 04:32:39 +0000
From: Matthew Wilcox <willy@...radead.org>
To: Dev Jain <dev.jain@....com>, g@...per.infradead.org
Cc: akpm@...ux-foundation.org, david@...hat.com,
kirill.shutemov@...ux.intel.com, ryan.roberts@....com,
anshuman.khandual@....com, catalin.marinas@....com, cl@...two.org,
vbabka@...e.cz, mhocko@...e.com, apopple@...dia.com,
dave.hansen@...ux.intel.com, will@...nel.org, baohua@...nel.org,
jack@...e.cz, srivatsa@...il.mit.edu, haowenchao22@...il.com,
hughd@...gle.com, aneesh.kumar@...nel.org,
yang@...amperecomputing.com, peterx@...hat.com, ioworker0@...il.com,
wangkefeng.wang@...wei.com, ziy@...dia.com, jglisse@...gle.com,
surenb@...gle.com, vishal.moola@...il.com, zokeefe@...gle.com,
zhengqi.arch@...edance.com, jhubbard@...dia.com, 21cnbao@...il.com,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 05/12] khugepaged: Generalize
__collapse_huge_page_isolate()
On Mon, Dec 16, 2024 at 10:20:58PM +0530, Dev Jain wrote:
> {
> - struct page *page = NULL;
> - struct folio *folio = NULL;
> - pte_t *_pte;
> + unsigned int max_ptes_shared = khugepaged_max_ptes_shared >> (HPAGE_PMD_ORDER - order);
> + unsigned int max_ptes_none = khugepaged_max_ptes_none >> (HPAGE_PMD_ORDER - order);
> int none_or_zero = 0, shared = 0, result = SCAN_FAIL, referenced = 0;
> + struct folio *folio = NULL;
> + struct page *page = NULL;
why are you moving variables around unnecessarily?
> bool writable = false;
> + pte_t *_pte;
>
> - for (_pte = pte; _pte < pte + HPAGE_PMD_NR;
> +
> + for (_pte = pte; _pte < pte + (1UL << order);
spurious blank line
also you might first want to finish off the page->folio conversion in
this function first; we have a vm_normal_folio() now.
Powered by blists - more mailing lists