From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 578B5C4332F for ; Mon, 30 Oct 2023 23:41:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDB258D0006; Mon, 30 Oct 2023 19:41:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C8B208D0002; Mon, 30 Oct 2023 19:41:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B52FE8D0006; Mon, 30 Oct 2023 19:41:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A4FB18D0002 for ; Mon, 30 Oct 2023 19:41:32 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 74D5C1A056C for ; Mon, 30 Oct 2023 23:41:32 +0000 (UTC) X-FDA: 81403752024.08.83C9C04 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2044.outbound.protection.outlook.com [40.107.220.44]) by imf22.hostedemail.com (Postfix) with ESMTP id 9905BC0015 for ; Mon, 30 Oct 2023 23:41:29 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=pnAfDQKC; dmarc=pass (policy=none) header.from=memverge.com; spf=pass (imf22.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.220.44 as permitted sender) smtp.mailfrom=gregory.price@memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698709289; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HG4nGqNQgNMUx9D5PhugVji1bQn/NOStE9FM9U34sTE=; b=AGiUbEIkt+I86/3gml3yWkphVewVisHKBY1mJELxtsEqI2RY5cvs0qC2PlXXMZzAFguyqg k67I6iD0UDIDeL5D4Pn+i9WNT8U2XtepUAb4YHu5jwzTDGGFMxLPOxI+tvFIyr868sc1tE Quk2LgJSm3AJDISpFSwXM3M1cUw/kMI= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=pnAfDQKC; dmarc=pass (policy=none) header.from=memverge.com; spf=pass (imf22.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.220.44 as permitted sender) smtp.mailfrom=gregory.price@memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1698709289; a=rsa-sha256; cv=pass; b=FYkeM9T1k3xc8+6Bh+QaN2n3UWBqPrToco3I3zevFNd3PaghgJG/ACklBTvMdByXnSpzBv 4yCyTNLHrXduBvminsmiGnGSGMPsgVrLpYcpD7jNKkIV8hdmGGlDjj2EWtKCB2FZF+KuS6 MraLD3z2izVnhaQyvmRz+IHSCfqw0hg= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DA86l8RGVAxgcxL6tVCQHbUpDK+cMI3TbtOIl8wIpPDr01xU3jk4eY6PnwjHQcJaeULmjdAWSEo/tF4hh9BASeVI6TDfzqGvIqRX+YTZbOdXi34a4lrFuGEtrLSZCAFLDmG54kODBLjb9mF6InQBDSDTE0tK6VEyjLDAyEeo6AZ8wJSW/ZWuoym9ZuA7AHlO/kC5c9RjzSySHpTSbaWjNzJNtSvWc+/MY2e+v2ohJZ41nLRWRf3CUfdkMLqwX5DI/HhqwWE3ugchoJb6t7VT0TOGPvavBigJMHclF5NVTtd9pU3B3+Ii+T9DNObV5hfZ56xqff4I64wpIoEOt8zllw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=HG4nGqNQgNMUx9D5PhugVji1bQn/NOStE9FM9U34sTE=; b=dArgSFEQgpIgjg9U8RwPmz2qx3xBIyHX1wrhWwUhic8LArFwwJajN++Y3+y7soY+5CCoOz93VOko12ZmUxaMYJJL+7ZGoSp7Ji85wu/wpb0Tsi1BGmscPgobUmx99731iil8QaiiDwLH795ll/5/yJNyYQIGv0X/re1ohAZHsDf0jjAqUayqao8fK2fvBe/P1WDnB/lN1j9/AjT156KfI97WDkUfAfWl4oGp/gyagJBVj21R+hvbL6Jsa1RxdqSRLEbzrrC5kA7UKWKsZNYRfcanZiu1QSNxVXSWMYbiKzRaIKYnOAKoDEpH0Ut7QoVO4J6SZgYnOxyQO3z91a0eog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=memverge.com; dmarc=pass action=none header.from=memverge.com; dkim=pass header.d=memverge.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=memverge.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HG4nGqNQgNMUx9D5PhugVji1bQn/NOStE9FM9U34sTE=; b=pnAfDQKCT6VWO6CMXmHXQjVkOZu/fkkbN7/PbsE+oq0Mf2SpW7805jMnP1ZtOIEkWO8twj8l/o/D+cmnnRNqfJb30bESgzTGOjg4DIzp51mJxYosdj3k5R2HjZ5v4i0DwRZaxClEZwQFU8EOsyMr9gyYR1w6+Rf7LgAm8jj7Ehc= Received: from SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) by CY8PR17MB6650.namprd17.prod.outlook.com (2603:10b6:930:7b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.15; Mon, 30 Oct 2023 23:41:26 +0000 Received: from SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::381c:7f11:1028:15f4]) by SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::381c:7f11:1028:15f4%4]) with mapi id 15.20.6954.015; Mon, 30 Oct 2023 23:41:26 +0000 Date: Mon, 30 Oct 2023 19:41:23 -0400 From: Gregory Price To: Matthew Wilcox Cc: Gregory Price , linux-mm@kvack.org, akpm@linux-foundation.org, david@redhat.com, vbabka@suse.cz, naoya.horiguchi@linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] kpageflags: respect folio head-page flag placement Message-ID: References: <20231030180005.2046-1-gregory.price@memverge.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SJ0PR03CA0227.namprd03.prod.outlook.com (2603:10b6:a03:39f::22) To SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR17MB5512:EE_|CY8PR17MB6650:EE_ X-MS-Office365-Filtering-Correlation-Id: b3a5c39f-19da-439f-b11d-08dbd9a1bba0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: b0K33JIQOnSo4MlbdVb9AmxTXJi3QDo7FFB6YNHYZdNcsIMj1QF85fTfWHOoLcFMZglacTSNzES9YiJJbSUDz0Bg0nlPpRXieDmUUldcQtR3Qkl/q7sk50sjbq07riTYVaXdtT+N/3Ef7ToGkSuxsfWh1m1T03CaCiI+3+Z37nK1mca2WMlgXimwfCCobEwBa1/eN4PJ286Rr6Z2fvhp8Zt0tKDOCez0jldOz/dgU2MxHbfNNHJSRnS9cGBBhuRs5nFjT9Jziy+Y8zkStU6UCy3vBdkvM2JaNoARSQFCtgK7U/LmC4O9XyR17ob8VTVeuryUI9TczPAtnmco4sqMtCEHT3enZ+7hvblBoTm69+tAEW3C9oSOHmkkhuBwnI2rMX20opNX23eZBXrYE9pGyh+O/BYIQO2PhIs6EZplbQy/NveRBaryheA+DpFm9ltUT5DkOYkmFQDco3AGOzrN+VmFnEtlWcSLelMTvf+8Ut0FV9UUwOHN1n0R4gS4TM0kz9c6Wgm3cveESMO6jmwt7vUeoT5G515ZV+erdj8fu4LbEBR8b/tRAinhSj255LyTHqELcbnqcXZB6aSDMGAIHgIlBuJwhnj1UvX3qEiJCT65xRvGnRBzr5r2/SdPJhQP X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR17MB5512.namprd17.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(346002)(39840400004)(376002)(366004)(230273577357003)(230173577357003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(6506007)(6666004)(6512007)(86362001)(8676002)(8936002)(41300700001)(2906002)(4326008)(44832011)(5660300002)(36756003)(6486002)(478600001)(66946007)(2616005)(26005)(66476007)(6916009)(66556008)(316002)(38100700002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HMa4ZhKcJVMZ06uFw1DxHKunYoKDAQ4ClOV0DHZ1GkOCB67HeHsfq8pYeLDJ?= =?us-ascii?Q?Q8/yWooHW2N5YwceZRNG56b2aUkAUfQoqupfEteiJd9fvm8y/d9zrTCXNk3O?= =?us-ascii?Q?prVUZs05FHp3bLIiM/K1VfYTflidRO8RsnPkryRMwZaMENSkj189WT0AVlkO?= =?us-ascii?Q?2PxILCTOjvDNXXIJoPMlRbttA85AelCXL6QMMH010FIfxUjhWPns9CRkc4gS?= =?us-ascii?Q?hR8LZuShRuWW8DQCx2WydVz/lWIRSY6Ovc3PrJODMf7FyNVPmYZYst2qdKKv?= =?us-ascii?Q?FHXKuoO5MfFi1htzdIODIQ3mVAgtfPDV1E3jkq+iln3+YtPS/HZGgWDBhYtm?= =?us-ascii?Q?sduqOYDP+Daj8wVlZ/jOXbjm8IeUWTobYP5egGt1jCCx/F+L3T0928b/y5Hs?= =?us-ascii?Q?19b6s0m8jSNfLvPi3GuCRnBxcrfxgKXyv0a7GrGZZfkv7nJue9+/w0NlJO8O?= =?us-ascii?Q?TnXSm2pXdoYgv/LGuPJHmdcgp/HsnC0nm91ENw3LCeludS4yEO/rgrs9JKqh?= =?us-ascii?Q?syXsCETV3RO+ovfvqlHD46G2EQtP8qmAWufnNNrYzpokRZcjGbNu1PmHW0M4?= =?us-ascii?Q?TD7HW5gg0OvoZap0tZXXlq4pkXB+19UHPGFI9m9R/vg7awOtcd5nq4IJR9aI?= =?us-ascii?Q?L852F8wP2ViT6EwcG2YtScWIdBrQ3brf/z6/ueBOiiV28j+75DApFb//u6pY?= =?us-ascii?Q?Ri6GauLBeYbKwsDvC44afFiuDC6HtWZxHfu+jcccdqVDrepEs1E9amYh4QSN?= =?us-ascii?Q?iVis1ubJpj8j0LdGLt/l1gQ90fbwAbJIBsI4o/wGIgdyeBDiGiQuG+qKwdPd?= =?us-ascii?Q?VQJd//zDY9b8vkCqYz++Vmfl/LQv32XKYVWlmhaLAm5ww9yy2xIDlD98VJAR?= =?us-ascii?Q?AXi21/4hmaaKyyav8dEbSFSTsHGiZBEfMwGe7am9TMX10/Fur1lVrSlvVaxE?= =?us-ascii?Q?kkf/YWRRPWRgF0p92p34FGkLaC9huSJQhZVwfWXpK4J4ju3wNqPkp1/FrjUy?= =?us-ascii?Q?ENWGmXcsrB45laBws1vxyFYo6NGNm96BYrNOGaFuoCNL8NtBbpSAVP4OyWDS?= =?us-ascii?Q?GPeWNKRtdwWCXwrfh7YpY/qPUdX2rM38Kbb6/qM9wBeBu0QV4+/rcV4s92iZ?= =?us-ascii?Q?r6NPOLiNqk5f89DgfNem1no4F5nDfDmLaAnDKqZMRHcf9n5ACAQZkQ/a+6RM?= =?us-ascii?Q?zrxQukyHFkzgR6+T8Ejwf77GDrwpgwcZCnytIL+4nT8B5ERqXbCnv8RO9mym?= =?us-ascii?Q?keD5klIyIjosGjGjKI0urUC9sxoJjuBddO4CDpMH3R168HznqTnd0yq3DVqF?= =?us-ascii?Q?V1gyCi/9n2Xm2Bn1ew8rWSPczvGI6bo6th+DeIG6cJV9b1yKB8riNxnC+lhe?= =?us-ascii?Q?2wzilrjZMyyG9/aZsW8cAFlPD/PSeT7VjwWHr6CyFia0PML0jyZrAH023mQi?= =?us-ascii?Q?GXMc8rqn+sjENeZgyPw+KXAQg7fp1XSqdehocowDjWXtpBP05NZ1tjg5oHuO?= =?us-ascii?Q?V+BbTPdFxCdkeAZobm39OMfpXVjOnLpDLshDSl/KD4FZpzDu5ux0GVGX73/Z?= =?us-ascii?Q?OPRg1y3MpnEMuPMwW1O825fsBYkFvPNtu3BcAv5aZqKhAJ6dosPDTMprp0ql?= =?us-ascii?Q?xQ=3D=3D?= X-OriginatorOrg: memverge.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3a5c39f-19da-439f-b11d-08dbd9a1bba0 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR17MB5512.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 23:41:26.5733 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5c90cb59-37e7-4c81-9c07-00473d5fb682 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Cot1vWvUC+tPu+/8HR1b4eBze/jfTrgNp7gxvbpOsnUP+LmwHkiv+g9fvuSlLOlwGiE+/8sHXNI0xONi55j4lZAB+BqanjIOxadij3UH2SE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR17MB6650 X-Rspamd-Queue-Id: 9905BC0015 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: xj8xypi64szweuyefeo4xefjkoseqxxi X-HE-Tag: 1698709289-55718 X-HE-Meta: U2FsdGVkX18IAFfq7dlHPv9Xzvn0f65wMw/BKzLGvRb5KNBkRl/a5F2auwYHLQS69hHqu81TtgZNnTnqi5dRHYmy6uxkdR+LFUBb7jSo3FG0yqOEbTdrkFGO4Zi9AeJHWUGhMQF1D+YKmYW5dwVR+/STPeYsrIPaPBjkjpC7FreBTuwZrnR9YET/LQnD0CqedxS340PpBCOj2xo940T7mNVwF1flGX9Pi9wB07hkUKf6xn/DVc/51yMFPdUU5SDRD4PLKspFLy4V5qhjXotnyTXbw+ue68eu3ZFm4WHhlaSZ1fUqZqiqdMeVHFEmihlK5z1OUaTx5ELn9yGzsDmAn6Xgcz5VVoEaZaKNMSPiXMCUISxcWAW1De2WXuQqYhQ7r8HlmdFnhzOBSwQP8Nj7APA55KdKBgR+6MykVpoBuGJVTVQhwDmSy9nCQxbF108OPVhPLqtbO59Y78WfEAVZulLSYjQRK+WuiDr5ovy1jDOvOXUP/7IgsqHkwHlgipGP+LRZdvR3ZVFPH+FAvnZSGip7jQ7+eTEGzb1cY0gtty6nNWQ4/bMc2VICZngsrQqfsMyb5ORETICEuKj4+Mjn2duChksrXTOdBJHgUkB7xqs6XY+3CQWktN1uICoktjwvmiExKipzKL/ab7EFcxvpNVQpCg7y0u0KN5Gky8h8bnLNUjgoKDvVKTB8HcvUmlHWpv3fPWvSI/TT/SEM5SctN3MUIhuIMGXjzj4AK4Yw/SleiOhXBiS4y2d+xSTWjyuHKYFFtnaiWRKZ3EARdnC20pkLa8Rl8sVJcaBiX9NYeYJSjNCAaySJ+X1gc2ZRlDDtEpc0tuRNquQJSJMSdZL/sSOP+eeMuno8B3jCK9A0tnEweIg6GfrK9CzAVr+uWxayGHcOF+11GCSuhmjgiATJDAO8FkhTt6bO+eFhReShLoGRDbmEh3iF57wYQmlwg8c+HkY/dMiO1oC987afErv A7Jq/uQB T5SsSk6rEfEtUpzhPqk3br9CTkZpwEHgeOvXehD2PwITScC8mQuXPzfL6fXlYuvfCx/NKeTZfk3L7mRdgVYbL++GOjWuMnucCqMtcIx2eesM6MKGyWNZROsraIqk6MDwa2rBG7AsOJLG1D5NTeOUbrY+eoF6Thx1AoofZ7PfYGYYr2GiIZbzqA1r67O0HXPGFpaxLxMCZrGyceNMY8NrWjaMBXNwLnj4f586EtEYXR2VhJYJo2knRQdvfay/SYEEXkrh0qrsgGPpJ2Vzg59y6Ij+Mpn7iLGuMUQco X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Oct 30, 2023 at 11:22:18PM +0000, Matthew Wilcox wrote: > On Mon, Oct 30, 2023 at 02:00:05PM -0400, Gregory Price wrote: > > kpageflags reads page-flags directly from the page, even when the > > respective flag is only updated on the headpage of a folio. > > > > Update bitchecks to use PAGEFLAG() interfaces to check folio for the > > referenced, dirty, lru, active, and unevictable bits. > > But uptodate, writeback and reclaim (amongst others) are also defined > only on the head page. > Ah yes i was only looking at the things defined w/ PAGEFLAG defines in page-flags.h. I'll give it full once over can collect them all, my bad. (also i forgot to update my commit message) Quick question here since i have your attention: any recommendation on what to do for ONLY_HEAD flags? If the provided page is not the head, should the flag report 0... or whatever the head says? > > u |= kpf_copy_bit(k, KPF_UPTODATE, PG_uptodate); > > u |= kpf_copy_bit(k, KPF_WRITEBACK, PG_writeback); > > > > u |= kpf_copy_bit(k, KPF_RECLAIM, PG_reclaim); > > > > if (PageSwapCache(page)) > > u |= 1 << KPF_SWAPCACHE; > > u |= kpf_copy_bit(k, KPF_SWAPBACKED, PG_swapbacked); > > > > u |= kpf_copy_bit(k, KPF_MLOCKED, PG_mlocked); >