From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 326482C3245 for ; Tue, 25 Nov 2025 09:34:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764063252; cv=none; b=oOtol1Y/QtCpXQR8bIqVKw/R2JBi55Ttd7oALiCYOj8yj7G6/ZaHa9tuEOZ1LJUyK5vqC9dMO9XdTI9ZHgegbHsJ61NLZhMdONAA66wr+YpGJ0+PoxbpDGnYlSV1ioKhKenFIABLTlRXqjI/sBqgQCJsT1l+8CrLppnzq54ywlE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764063252; c=relaxed/simple; bh=FcKv+b6xt+QE9/qtKYSh+S6sFbr6sQYUjRnCsWnW6nI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=HhkxRmONHQwFRLF/Dxy4VL7Rgz3UWHPun81/KKOPslvCMIk8YneOYhyZmBWKWAwrDDsjLKFvL1slCmYOYZT9qRl/RsOAzHQXaQrla819L64BAWujujOdSrEfWX852H/FtTNHNVhgcKLGc6CNOVXgRQbm9Y1rGFPXQhYCJg+BqlA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=h6BId81C; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="h6BId81C" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 568C7C4CEF1; Tue, 25 Nov 2025 09:34:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1764063251; bh=FcKv+b6xt+QE9/qtKYSh+S6sFbr6sQYUjRnCsWnW6nI=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=h6BId81CJTZvaXBjQ71EfemBl/x+RWWBbYt5yUML3h8Nj8EhTvE+cK5wyo6EArIig bRr5awJuXrgv8fIa4YdV60RHM+II9dHvnIFtJAEYKNOkLAQV0mOgWgVBGHafsRyTbv PbLJzXkQ111BE/caVlSBwi3WsGu+nrMWBe6MTllN8mwLu3gJgFymkyRVQPyV1vF0yT bnncJbTFKvaNeeiCIfU6hIuEHEwvUt+N//H+o1dySEhWecK4pN7b0LCtpAP8ALnXlO sShy4lfOK29cWRDWJtbNnQHaqTvEFj2dpf3RA++sC0UeaYu8wPmBYNx+oDKPu3VmjU m6ca0XEYQoTJg== Message-ID: <6833a9b4-5c9a-41cc-b44f-3e3f2592d119@kernel.org> Date: Tue, 25 Nov 2025 10:34:05 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 2/4] mm/huge_memory: replace can_split_folio() with direct refcount calculation To: Miaohe Lin , Zi Yan Cc: Lorenzo Stoakes , Andrew Morton , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Naoya Horiguchi , Wei Yang , Balbir Singh , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20251122025529.1562592-1-ziy@nvidia.com> <20251122025529.1562592-3-ziy@nvidia.com> <33A929D1-7438-43C1-AA4A-398183976F8F@nvidia.com> <34bafd06-250a-4019-8b34-5ddeedea1cb3@kernel.org> <66C159D8-D267-4B3B-9384-1CE94533990E@nvidia.com> <6cce0756-cfe1-7b39-d81a-ba1b2cb32fb5@huawei.com> From: "David Hildenbrand (Red Hat)" Content-Language: en-US In-Reply-To: <6cce0756-cfe1-7b39-d81a-ba1b2cb32fb5@huawei.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 11/25/25 10:10, Miaohe Lin wrote: > On 2025/11/25 5:08, Zi Yan wrote: >> On 24 Nov 2025, at 14:22, David Hildenbrand (Red Hat) wrote: >> > > > >> >> BTW, this page flag reuse is really confusing. I see PG_checked is >> PG_owner_priv_1 too and __folio_migrate_mapping() uses folio_test_swapcache() >> to decide the number of i_pages entries. Wouldn’t that cause any issue? >> ext4 does not release_folio() for migration when PG_checked is set, >> ubifs clears PG_checked in release_folio(). I have not checked all other FS >> yet. Maybe later. > > folio_test_swapbacked() is also checked in folio_test_swapcache: > > static __always_inline bool folio_test_swapcache(struct folio *folio) > { > return folio_test_swapbacked(folio) && > test_bit(PG_swapcache, folio_flags(folio, 0)); > } > > So IMHO the reuse of this page flag should work fine. Ahh, thanks for pointing that out. Confusing, as usually the folio_test_*() helper are straight bit tests, All good then :) -- Cheers David