All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zi Yan" <ziy@nvidia.com>
To: "David Hildenbrand (Arm)" <david@kernel.org>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Muchun Song" <muchun.song@linux.dev>,
	"Lorenzo Stoakes" <ljs@kernel.org>,
	"Liam R. Howlett" <liam@infradead.org>,
	"Vlastimil Babka" <vbabka@kernel.org>,
	"Mike Rapoport" <rppt@kernel.org>,
	"Suren Baghdasaryan" <surenb@google.com>,
	"Michal Hocko" <mhocko@suse.com>,
	"Baolin Wang" <baolin.wang@linux.alibaba.com>,
	"Nico Pache" <nico.pache@linux.dev>,
	"Ryan Roberts" <ryan.roberts@arm.com>,
	"Dev Jain" <dev.jain@arm.com>, "Barry Song" <baohua@kernel.org>,
	"Lance Yang" <lance.yang@linux.dev>,
	"Usama Arif" <usama.arif@linux.dev>,
	"Gregory Price" <gourry@gourry.net>,
	"Ying Huang" <ying.huang@linux.alibaba.com>,
	"Alistair Popple" <apopple@nvidia.com>,
	"Johannes Weiner" <hannes@cmpxchg.org>,
	"Qi Zheng" <qi.zheng@linux.dev>,
	"Shakeel Butt" <shakeel.butt@linux.dev>,
	"Kairui Song" <kasong@tencent.com>
Cc: <linux-mm@kvack.org>, <linux-kernel@vger.kernel.org>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
	"Matthew Brost" <matthew.brost@intel.com>,
	"Joshua Hahn" <joshua.hahnjy@gmail.com>,
	"Rakie Kim" <rakie.kim@sk.com>,
	"Byungchul Park" <byungchul@sk.com>,
	<linux-fsdevel@vger.kernel.org>,
	<linux-trace-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 10/14] mm/page-flags: introduce folio_test_fs_private()
Date: Tue, 08 Sep 2026 13:22:01 -0400	[thread overview]
Message-ID: <DLA3WXO23NK2.1EG7GHUT907UB@nvidia.com> (raw)
In-Reply-To: <6efff84b-7628-4d26-b65a-6f5b747030d0@kernel.org>

On Tue Sep 8, 2026 at 12:59 PM EDT, David Hildenbrand (Arm) wrote:
> On 9/8/26 04:56, Zi Yan wrote:
>> folio_test_fs_private() wraps folio->private != NULL check and excludes
>> swapcache and hugetlb folios, since swapcache uses swp_entry_t overlapping
>> with folio->private and hugetlb sets its own flags in folio->private.
>> Replace open code with the helper, since core MM does this check
>> frequently.
>> 
>> No functional change intended.
>> 
>> Assisted-by: Claude:claude-opus-4-8
>> Assisted-by: Codex:gpt-5
>> Signed-off-by: Zi Yan <ziy@nvidia.com>
>> To: Andrew Morton <akpm@linux-foundation.org>
>> To: David Hildenbrand <david@kernel.org>
>> To: Steven Rostedt <rostedt@goodmis.org>
>> To: Masami Hiramatsu <mhiramat@kernel.org>
>> To: Lorenzo Stoakes <ljs@kernel.org>
>> Cc: "Liam R. Howlett" <liam@infradead.org>
>> Cc: Vlastimil Babka <vbabka@kernel.org>
>> Cc: Mike Rapoport <rppt@kernel.org>
>> Cc: Suren Baghdasaryan <surenb@google.com>
>> Cc: Michal Hocko <mhocko@suse.com>
>> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>> Cc: Zi Yan <ziy@nvidia.com>
>> Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
>> Cc: Nico Pache <nico.pache@linux.dev>
>> Cc: Ryan Roberts <ryan.roberts@arm.com>
>> Cc: Dev Jain <dev.jain@arm.com>
>> Cc: Barry Song <baohua@kernel.org>
>> Cc: Lance Yang <lance.yang@linux.dev>
>> Cc: Usama Arif <usama.arif@linux.dev>
>> Cc: Matthew Brost <matthew.brost@intel.com>
>> Cc: Joshua Hahn <joshua.hahnjy@gmail.com>
>> Cc: Rakie Kim <rakie.kim@sk.com>
>> Cc: Byungchul Park <byungchul@sk.com>
>> Cc: Gregory Price <gourry@gourry.net>
>> Cc: Ying Huang <ying.huang@linux.alibaba.com>
>> Cc: Alistair Popple <apopple@nvidia.com>
>> Cc: linux-kernel@vger.kernel.org
>> Cc: linux-fsdevel@vger.kernel.org
>> Cc: linux-mm@kvack.org
>> Cc: linux-trace-kernel@vger.kernel.org
>> ---
>>  include/linux/mm.h             |  4 +---
>>  include/linux/page-flags.h     | 26 +++++++++++++++++++++++---
>>  include/trace/events/pagemap.h |  4 +---
>>  mm/huge_memory.c               |  4 +---
>>  mm/migrate.c                   |  3 +--
>>  mm/page-writeback.c            |  5 +----
>>  mm/vmscan.c                    |  3 +--
>>  7 files changed, 29 insertions(+), 20 deletions(-)
>> 
>> diff --git a/include/linux/mm.h b/include/linux/mm.h
>> index 5eb8a62fafb56..c861525cda83f 100644
>> --- a/include/linux/mm.h
>> +++ b/include/linux/mm.h
>> @@ -3053,9 +3053,7 @@ static inline int folio_expected_ref_count(const struct folio *folio)
>>  		 * One reference from filesystem private data.
>>  		 * Use data_race() since folio might not be locked.
>>  		 */
>> -		ref_count += data_race(folio_test_private(folio)) &&
>> -			     !folio_test_hugetlb(folio) &&
>> -			     !folio_test_swapbacked(folio);
>> +		ref_count += data_race(folio_test_fs_private(folio));
>>  	}
>
> Lol :) That's what I meant with folio_has_attached_private()
>
> (I think I prefer that name as it matches folio_attach_private(), but I might be
> biased ;) )

I can rename it, since it sounds more generic than "fs private".
>
>
> This really should be sqashed into the previous patch, OR, have a prep patch
> that only replaces these instances and uses folio_test_private() until you
> convert it to folio->private in the second patch.
>
> In short: touch these call sites only once, not twice in a row.

Will squash it to the prior patch.

-- 
Best Regards,
Yan, Zi


  reply	other threads:[~2026-09-08 17:22 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-08  2:56 [PATCH v3 00/14] Remove PG_private by using page/folio->private checks instead Zi Yan
2026-09-08  2:56 ` [f2fs-dev] " Zi Yan via Linux-f2fs-devel
2026-09-08  2:56 ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 01/14] mm/zsmalloc: replace PG_private with pointer comparison Zi Yan
2026-09-08  4:11   ` Sergey Senozhatsky
2026-09-08 15:07   ` David Hildenbrand (Arm)
2026-09-08 15:21     ` Zi Yan
2026-09-09 14:07       ` David Hildenbrand (Arm)
2026-09-08  2:56 ` [PATCH v3 02/14] perf/ring_buffer: stop using PG_private as AUX page high-order marker Zi Yan
2026-09-08  3:07   ` sashiko-bot
2026-09-08 15:09   ` David Hildenbrand (Arm)
2026-09-08  2:56 ` [PATCH v3 03/14] xen/grant-table: stop setting PG_private on pages for grant mapping Zi Yan
2026-09-08 15:16   ` David Hildenbrand (Arm)
2026-09-08 15:44     ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 04/14] fscrypt: stop setting PG_private on bounce page Zi Yan
2026-09-08 15:16   ` David Hildenbrand (Arm)
2026-09-08  2:56 ` [PATCH v3 05/14] mm/hugetlb: use direct assignment instead of folio_change_private() Zi Yan
2026-09-08 15:26   ` David Hildenbrand (Arm)
2026-09-08 15:28     ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 06/14] f2fs: stop using PG_private Zi Yan
2026-09-08  2:56   ` [f2fs-dev] " Zi Yan via Linux-f2fs-devel
2026-09-08 15:47   ` David Hildenbrand (Arm) via Linux-f2fs-devel
2026-09-08 15:47     ` David Hildenbrand (Arm)
2026-09-08 18:20     ` [f2fs-dev] " Tal Zussman
2026-09-08 18:20       ` Tal Zussman
2026-09-09 12:48       ` [f2fs-dev] " David Hildenbrand (Arm) via Linux-f2fs-devel
2026-09-09 12:48         ` David Hildenbrand (Arm)
2026-09-09 17:47         ` Tal Zussman
2026-09-09 17:47           ` [f2fs-dev] " Tal Zussman
2026-09-10  7:35           ` David Hildenbrand (Arm)
2026-09-10  7:35             ` [f2fs-dev] " David Hildenbrand (Arm) via Linux-f2fs-devel
2026-09-10 12:21             ` Zi Yan
2026-09-10 12:21               ` [f2fs-dev] " Zi Yan via Linux-f2fs-devel
2026-09-10 21:11               ` Zi Yan
2026-09-10 21:11                 ` [f2fs-dev] " Zi Yan via Linux-f2fs-devel
2026-09-13 20:11                 ` Tal Zussman
2026-09-13 20:11                   ` [f2fs-dev] " Tal Zussman
2026-09-10  2:41     ` Chao Yu
2026-09-10  2:41       ` [f2fs-dev] " Chao Yu via Linux-f2fs-devel
2026-09-10  7:34       ` David Hildenbrand (Arm) via Linux-f2fs-devel
2026-09-10  7:34         ` David Hildenbrand (Arm)
2026-09-10  8:43         ` [f2fs-dev] " Chao Yu via Linux-f2fs-devel
2026-09-10  8:43           ` Chao Yu
2026-09-10  9:15           ` David Hildenbrand (Arm)
2026-09-10  9:15             ` [f2fs-dev] " David Hildenbrand (Arm) via Linux-f2fs-devel
2026-09-10 14:15             ` Chao Yu
2026-09-10 14:15               ` [f2fs-dev] " Chao Yu via Linux-f2fs-devel
2026-09-08  2:56 ` [PATCH v3 07/14] erofs: mm/pagemap: add readahead_folio_last() to avoid folio->private Zi Yan
2026-09-08 16:04   ` David Hildenbrand (Arm)
2026-09-08 17:05     ` Zi Yan
2026-09-09 14:10       ` David Hildenbrand (Arm)
2026-09-08  2:56 ` [PATCH v3 08/14] erofs: use folio_attach/detach_private() instead of direct assignment Zi Yan
2026-09-08 16:13   ` David Hildenbrand (Arm)
2026-09-08 17:19     ` Zi Yan
2026-09-09 13:27       ` David Hildenbrand (Arm)
2026-09-10  2:06         ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 09/14] mm/page-flags: check page/folio->private instead of PG_private Zi Yan
2026-09-08 16:56   ` David Hildenbrand (Arm)
2026-09-10  2:08     ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 10/14] mm/page-flags: introduce folio_test_fs_private() Zi Yan
2026-09-08 16:59   ` David Hildenbrand (Arm)
2026-09-08 17:22     ` Zi Yan [this message]
2026-09-08  2:56 ` [PATCH v3 11/14] treewide: remove folio_set/clear_private() Zi Yan
2026-09-08 17:01   ` David Hildenbrand (Arm)
2026-09-08 17:22     ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 12/14] treewide: replace PagePrivate() with page_private() Zi Yan
2026-09-09 14:18   ` David Hildenbrand (Arm)
2026-09-09 14:23     ` David Hildenbrand (Arm)
2026-09-10  2:09       ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 13/14] treewide: adjust comments on PagePrivate and PG_private Zi Yan
2026-09-08  2:56   ` Zi Yan
2026-09-09 14:20   ` David Hildenbrand (Arm)
2026-09-09 14:20     ` David Hildenbrand (Arm)
2026-09-09 14:27   ` David Hildenbrand (Arm)
2026-09-09 14:27     ` David Hildenbrand (Arm)
2026-09-10  2:12     ` Zi Yan
2026-09-10  2:12       ` Zi Yan
2026-09-08  2:56 ` [PATCH v3 14/14] mm/page-flags: remove PG_private Zi Yan
2026-09-09 14:31   ` David Hildenbrand (Arm)
2026-09-09 14:48     ` Zi Yan
2026-09-09 14:50       ` David Hildenbrand (Arm)
2026-09-09 14:51         ` Zi Yan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DLA3WXO23NK2.1EG7GHUT907UB@nvidia.com \
    --to=ziy@nvidia.com \
    --cc=akpm@linux-foundation.org \
    --cc=apopple@nvidia.com \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=byungchul@sk.com \
    --cc=david@kernel.org \
    --cc=dev.jain@arm.com \
    --cc=gourry@gourry.net \
    --cc=hannes@cmpxchg.org \
    --cc=joshua.hahnjy@gmail.com \
    --cc=kasong@tencent.com \
    --cc=lance.yang@linux.dev \
    --cc=liam@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=ljs@kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=matthew.brost@intel.com \
    --cc=mhiramat@kernel.org \
    --cc=mhocko@suse.com \
    --cc=muchun.song@linux.dev \
    --cc=nico.pache@linux.dev \
    --cc=qi.zheng@linux.dev \
    --cc=rakie.kim@sk.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@kernel.org \
    --cc=ryan.roberts@arm.com \
    --cc=shakeel.butt@linux.dev \
    --cc=surenb@google.com \
    --cc=usama.arif@linux.dev \
    --cc=vbabka@kernel.org \
    --cc=willy@infradead.org \
    --cc=ying.huang@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.