[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RFC 00/14] Remove PG_private by using page/folio->private checks instead
- To: Jürgen Groß <jgross@xxxxxxxx>, "David Hildenbrand" <david@xxxxxxxxxx>, "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>, "Andrew Morton" <akpm@xxxxxxxxxxxxxxxxxxxx>, "Muchun Song" <muchun.song@xxxxxxxxx>, "Lorenzo Stoakes" <ljs@xxxxxxxxxx>, "Liam R. Howlett" <liam@xxxxxxxxxxxxx>, "Vlastimil Babka" <vbabka@xxxxxxxxxx>, "Mike Rapoport" <rppt@xxxxxxxxxx>, "Suren Baghdasaryan" <surenb@xxxxxxxxxx>, "Michal Hocko" <mhocko@xxxxxxxx>, "Baolin Wang" <baolin.wang@xxxxxxxxxxxxxxxxx>, "Nico Pache" <nico.pache@xxxxxxxxx>, "Ryan Roberts" <ryan.roberts@xxxxxxx>, "Dev Jain" <dev.jain@xxxxxxx>, "Barry Song" <baohua@xxxxxxxxxx>, "Lance Yang" <lance.yang@xxxxxxxxx>, "Usama Arif" <usama.arif@xxxxxxxxx>, "Gregory Price" <gourry@xxxxxxxxxx>, "Ying Huang" <ying.huang@xxxxxxxxxxxxxxxxx>, "Alistair Popple" <apopple@xxxxxxxxxx>, "Johannes Weiner" <hannes@xxxxxxxxxxx>, "Qi Zheng" <qi.zheng@xxxxxxxxx>, "Shakeel Butt" <shakeel.butt@xxxxxxxxx>, "Kairui Song" <kasong@xxxxxxxxxxx>
- From: "Zi Yan" <ziy@xxxxxxxxxx>
- Date: Mon, 03 Aug 2026 14:13:13 -0400
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eRjbsBRIUTAFpugKKLOjSbZ6YnFTaZPMTTSy9l9apTE=; b=axI4QwD0gDNm37sbZwPepJqFwCIiAQLsRb16JqMJC18kzIbTrEGCymZhb+s+VT3do6EhX/NunZoNzoqNMzdrVPiKGAHzZxXxgE3R9xuo+1Gti7a03F9fRjGK5P50Lt8AxaBXztxd5r9zFCY/UqUcakRm4oUcNJdIAnG/3xc01xoOvlR1WiMD7tpFinSy/n/j8hqvWefCeMnzCgHYzYcPJ8uU/jJoPnMGHd/+YZPkn0JJ2U3O95hflOwGfyepG+2jZsgsMfbSa132CavPOtTL6zLMDpd6I+fzR/hlKcTK94MwK5Xl/bUCYD9mr9kjrEYXGsa4Ph7cigPFSjEaaRhp/g==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WD6ZOUp+WnBpKUL/Z/T7kHJS3gdbMiHPaDWLnG+FW2Ughc5kivpbHAl9m7v4kZtUlwne3dtTcxUKM7WrJyBjIzNunVwJE8YCw5xf460FYDTOx6lI06pdu9THT47XqNLtDLCdzux8qTLf/nbRDsOOv/8gNbNU4E2T2QAuULs2fA5qQHbM4xHgZv2o0OOWsIgB9IrcShazm0DicLCB2r0EQKH4D6YFHM6X6V09ySI5OEc6n7D3GLeeZQVOXqxWW+VbyMV7HL3rN70ZTujV0k0q4aAXFKUkqMGPn1t6bGDJN5lRp550zxCce4yQxpsqpaiJjD8UiJnfV95Vbq8C+ISS6g==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=temperror header.s=selector2 header.d=Nvidia.com header.i="@Nvidia.com"
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com;
- Cc: <linux-mm@xxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, "Minchan Kim" <minchan@xxxxxxxxxx>, "Sergey Senozhatsky" <senozhatsky@xxxxxxxxxxxx>, "Peter Zijlstra" <peterz@xxxxxxxxxxxxx>, "Ingo Molnar" <mingo@xxxxxxxxxx>, "Arnaldo Carvalho de Melo" <acme@xxxxxxxxxx>, "Namhyung Kim" <namhyung@xxxxxxxxxx>, "Thomas Gleixner" <tglx@xxxxxxxxxx>, "Borislav Petkov" <bp@xxxxxxxxx>, "Dave Hansen" <dave.hansen@xxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>, "Mark Rutland" <mark.rutland@xxxxxxx>, "Alexander Shishkin" <alexander.shishkin@xxxxxxxxxxxxxxx>, "Jiri Olsa" <jolsa@xxxxxxxxxx>, "Ian Rogers" <irogers@xxxxxxxxxx>, "Adrian Hunter" <adrian.hunter@xxxxxxxxx>, "James Clark" <james.clark@xxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>, <linux-perf-users@xxxxxxxxxxxxxxx>, "Stefano Stabellini" <sstabellini@xxxxxxxxxx>, "Oleksandr Tyshchenko" <oleksandr_tyshchenko@xxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "Eric Biggers" <ebiggers@xxxxxxxxxx>, "Theodore Y. Ts'o" <tytso@xxxxxxx>, "Jaegeuk Kim" <jaegeuk@xxxxxxxxxx>, <linux-fscrypt@xxxxxxxxxxxxxxx>, "Oscar Salvador" <osalvador@xxxxxxx>, "Chao Yu" <chao@xxxxxxxxxx>, <linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx>, "Gao Xiang" <xiang@xxxxxxxxxx>, "Jan Kara" <jack@xxxxxxx>, "Yue Hu" <zbestahu@xxxxxxxxx>, "Jeffle Xu" <jefflexu@xxxxxxxxxxxxxxxxx>, "Sandeep Dhavale" <dhavale@xxxxxxxxxx>, "Hongbo Li" <hongbohbli@xxxxxxxxxxx>, "Chunhai Guo" <guochunhai@xxxxxxxx>, <linux-erofs@xxxxxxxxxxxxxxxx>, <linux-fsdevel@xxxxxxxxxxxxxxx>, "Steven Rostedt" <rostedt@xxxxxxxxxxx>, "Masami Hiramatsu" <mhiramat@xxxxxxxxxx>, "Mathieu Desnoyers" <mathieu.desnoyers@xxxxxxxxxxxx>, "Matthew Brost" <matthew.brost@xxxxxxxxx>, "Joshua Hahn" <joshua.hahnjy@xxxxxxxxx>, "Rakie Kim" <rakie.kim@xxxxxx>, "Byungchul Park" <byungchul@xxxxxx>, "Axel Rasmussen" <axelrasmussen@xxxxxxxxxx>, "Yuanchu Xie" <yuanchu@xxxxxxxxxx>, "Wei Xu" <weixugc@xxxxxxxxxx>, <linux-trace-kernel@xxxxxxxxxxxxxxx>, "Trond Myklebust" <trondmy@xxxxxxxxxx>, "Anna Schumaker" <anna@xxxxxxxxxx>, <linux-nfs@xxxxxxxxxxxxxxx>, "Song Liu" <song@xxxxxxxxxx>, "Yu Kuai" <yukuai@xxxxxxx>, "Ilya Dryomov" <idryomov@xxxxxxxxx>, "Alex Markuze" <amarkuze@xxxxxxxxxx>, "Viacheslav Dubeyko" <slava@xxxxxxxxxxx>, "Li Nan" <magiclinan@xxxxxxxxxxxxxx>, "Xiao Ni" <xiao@xxxxxxxxxx>, <linux-raid@xxxxxxxxxxxxxxx>, <ceph-devel@xxxxxxxxxxxxxxx>, "Richard Weinberger" <richard@xxxxxx>, "Zhihao Cheng" <chengzhihao1@xxxxxxxxxx>, <linux-mtd@xxxxxxxxxxxxxxxxxxx>, "Baoquan He" <baoquan.he@xxxxxxxxx>, "Pasha Tatashin" <pasha.tatashin@xxxxxxxxxx>, "Pratyush Yadav" <pratyush@xxxxxxxxxx>, "Jonathan Corbet" <corbet@xxxxxxx>, "Dave Young" <ruirui.yang@xxxxxxxxx>, "Shuah Khan" <skhan@xxxxxxxxxxxxxxxxxxx>, <kexec@xxxxxxxxxxxxxxxxxxx>, <linux-doc@xxxxxxxxxxxxxxx>
- Delivery-date: Mon, 03 Aug 2026 18:13:45 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Mon Aug 3, 2026 at 5:07 AM EDT, Jürgen Groß wrote:
> On 01.08.26 04:13, Zi Yan wrote:
>> Hi all,
>>
>> This patchset removes PG_private to make space for upcoming PG_folio
>> (reserved as __PG_folio) for identifying pages from a folio (more details
>> in Note below). Instead of checking PG_private, all code is changed to
>> check page/folio->private != NULL instead.
>
> I'm a little bit worried that page/folio->private is in a union, so today
> it could (in theory) be != NULL while PG_private isn't set.
>
> Is it really not possible to enter a path where PG_private is tested while
> page/folio->private != NULL due to the union being used otherwise (PG_private
> not set)?
Yes, it is possible. See: #5 in the exceptional users: erofs uses
->private for reverse linked list and in-flight counters without setting
PG_private. I get rid of the first one and converted the second one to
use folio_attach/detach/get_private() to follow the general ->private
use pattern..
For non file system folios, anon swapcache puts swap_entry_t in
->private and hugetlb puts its flags in ->private. I added
folio_test_fs_private() to exclude them, but this helper is planned to
be used by core MM, since filesystem code should not encounter these
two.
--
Best Regards,
Yan, Zi
|