From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3BA06261B8A for ; Wed, 22 Jul 2026 01:02:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784682154; cv=none; b=hjPxVa47ccGAi6YyIVpdsVMvoessnTuQG8Q+5ybjPlekRm3nR5hZHqDDmchONO+kActIVHu/Q0b5H6S39qQuiviVajgeGCiIuCJgg2lJY10xjvSigWKVRsi80Z0zLcLoSQuwuOg8AnFqicgR2nlCWz0AmOxJYiTQ4dIx+60P3Hc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784682154; c=relaxed/simple; bh=McUTqsQZnlf6oHs204hPvX+9ysVyvDIGQrGFOTUgEFI=; h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References: Mime-Version:Content-Type; b=Xxzqmn4JDvUT+AmdiEcGGKLlzMNaZfSChIno/99WKEndeOFbolJTkL+yXejiS2VgR17UL6TSqybtvYE0JQRTCoaNghTdoTTu3HntjPpc7Zpy86BaL3h6+rj9dyqvHPQ6Rud6ZufuQfXlO/apFL5Xd0ZK8PhXImPZC6PjEbDMVIw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=ZMo9tAZL; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="ZMo9tAZL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 638D61F00A3A; Wed, 22 Jul 2026 01:02:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=korg; t=1784682152; bh=0i56NBqaotRJ5p3UAKMDmToLmD0VzAqE4hcOPd7uRRw=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=ZMo9tAZLQuNTT3TmXwvXaJIUZG1GspTtUXwa2bIwBcihJ4fytqb6DXR0xoIDucDDC kHI/Rrs71iVP3hlYjd37QUuJXQY650p7TUVngciXpOl81fXuoY/y72B/C1WuCv7dmc W2cGNfKmwEOfG6ny5BfNlShihsd86R7ys1pXtbbc= Date: Tue, 21 Jul 2026 18:02:32 -0700 From: Andrew Morton To: Hongfu Li Cc: david@kernel.org, ljs@kernel.org, liam@infradead.org, vbabka@kernel.org, rppt@kernel.org, surenb@google.com, mhocko@suse.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hongfu Li Subject: Re: [PATCH] mm/memory: use folio lock/ref helpers in do_swap_page Message-Id: <20260721180232.0984ad6fd55ad43053b3a079@linux-foundation.org> In-Reply-To: <20260721013347.65698-1-hongfu.li@linux.dev> References: <20260721013347.65698-1-hongfu.li@linux.dev> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 21 Jul 2026 09:33:47 +0800 Hongfu Li wrote: > From: Hongfu Li > > Replace page-level lock/ref operations with their folio equivalents > in the device_private migration path of do_swap_page(). > > Introduce a local fault_folio to hold page_folio(vmf->page) to avoid > repeated page_folio() invocations. > > ... > > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4852,6 +4852,8 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) > vmf->page = softleaf_to_page(entry); > ret = remove_device_exclusive_entry(vmf); > } else if (softleaf_is_device_private(entry)) { > + struct folio *fault_folio; > + > if (vmf->flags & FAULT_FLAG_VMA_LOCK) { > /* > * migrate_to_ram is not yet ready to operate > @@ -4863,6 +4865,7 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) > } > > vmf->page = softleaf_to_page(entry); > + fault_folio = page_folio(vmf->page); > vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd, > vmf->address, &vmf->ptl); AI review thinks we shouldn't be reading vmf->page until after taking the page table lock: https://sashiko.dev/#/patchset/20260721013347.65698-1-hongfu.li@linux.dev