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 86C50C8302D for ; Mon, 30 Jun 2025 09:18:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2BC956B009A; Mon, 30 Jun 2025 05:18:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 293BE6B009F; Mon, 30 Jun 2025 05:18:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1D1376B00A4; Mon, 30 Jun 2025 05:18:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 097616B009A for ; Mon, 30 Jun 2025 05:18:57 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6DC9CB99BF for ; Mon, 30 Jun 2025 09:18:56 +0000 (UTC) X-FDA: 83611517472.24.2AF05B5 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf13.hostedemail.com (Postfix) with ESMTP id 7E0EC2000B for ; Mon, 30 Jun 2025 09:18:54 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf13.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751275134; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LAgXUkS5AsuQmkhusxZW7lpasFsIiX4L4NDiI87XQ2k=; b=PXW/uRcsM7sCXmzc1WAupW1de8tX8koQHd0CNLeXTh0Evy3PQ0bjVFGmB0rogDclREmVlx YnsZnyubtUokGJVnuLtebODFoXZMQb2gOcBTyFCqE3ed0Tb057YMkhxxR7fYIC07xwzbpS LbEQxpsTvjZr3kjx1bKi29j8tKx6mF4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751275134; a=rsa-sha256; cv=none; b=jZczwRul12UyCtvptMfgKYQ4BpUffQdZPar/SswMX/yWXO6kmdRxJcCV1mJwce+NwqoNZg wGDDEaPElcnMw805JSu61sO10pH1e2w3v+mhyfG6Zaf2oA6nyNH6q5fTetewKkPyhQ0Umj bIjTQ+k3A3XrMROR/CbeyP6F24HqiNQ= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf13.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5F3241D34; Mon, 30 Jun 2025 02:18:37 -0700 (PDT) Received: from [10.1.34.165] (XHFQ2J9959.cambridge.arm.com [10.1.34.165]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9D33B3F6A8; Mon, 30 Jun 2025 02:18:49 -0700 (PDT) Message-ID: <79525362-2377-441b-8575-d2307bd77f26@arm.com> Date: Mon, 30 Jun 2025 10:18:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 1/4] mm: convert FPB_IGNORE_* into FPB_HONOR_* Content-Language: en-GB To: David Hildenbrand , Dev Jain , linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, Andrew Morton , "Liam R. Howlett" , Lorenzo Stoakes , Vlastimil Babka , Jann Horn , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Zi Yan , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Gregory Price , Ying Huang , Alistair Popple , Pedro Falcato , Rik van Riel , Harry Yoo References: <20250627115510.3273675-1-david@redhat.com> <20250627115510.3273675-2-david@redhat.com> <5c3428c6-25be-4a94-811a-6bb6718f6c58@arm.com> <5375208d-2c11-4579-a303-e8416ab07159@arm.com> From: Ryan Roberts In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Stat-Signature: e3wtdrz8gcxs73k6ocxn8cewgmntb8ie X-Rspamd-Queue-Id: 7E0EC2000B X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1751275134-750836 X-HE-Meta: U2FsdGVkX19LG4MSpO3NIWM9YPS32ADRu/l2RKHaEwgJLQAhdcuNWAPQH+7Fk1lLkepEsUBAeBYfmKwAg6zvTTe4zdnEE5BhAdy5ohjB+gTfCvZD5CUPy2lJmHZtK+VxzcAcHCpF07E6c5Shh8WjZXl+meYb4MkNjSev+zyYHRA6OpR+zbx06pUUShvOwSULwpgtKKm1tN3k1dD5ssy5zn7YaQtCgjiJk06GSo/LFVlhTW+ogjjhgZi7RU09MRTDgUoY5k88Nb0Ggmnoom3bTwt2qL8dno03XOzkiac7C3YSMsJGc5oXW0tvk8HufulsT1n6K+gtynS4nfNiVOVa0YYw5/Ei0qKu+qpQjx1kwLXxAcw07CfiHf27jE2ERQ/LN7dC1jSJCZHY1n2IlZbvEVsj93tiNKw1ODYvFoIu8rVSPOFOwIv49bECYbaLyI9d8J+Lqo3WWpzRaZlhcYt9KWr28QWh7Q1IDqWKtna2zx+VjysflervnQ5nprT51cBR5BLdu53SCRs41QRKdzec86VjWImcGCMo8zdU9XhNo155U6ANqBaGeGoj6ODB2ix2Zif//K+wIQSOrm8UMUXHecdii0EMhPeCDzCT7lIPzZGxSHLq5Tttm4zHzYq5zSw5KetIYGM217zMGpeXrD1t8rth/gCUAbqZdr5BDYIqJ93CvKt+hkEpNEJS6Df1Ad6H+WLrJhnbxcbsoDffnY1zFEs4u2zjiSZEhHUERvgvWF5XuCISkQzJCczJ3nO96Axv5nYBVTxflTGRrR+B7ZIND52cfFIIJOVWlqvNhCDg+FQAAE0ARr0WhT1qBZ3BKdRRnowebcOa3Hfr1SnSQQho991Ju/+win8VGW9Xo5zjZcbXZQ7A16bN5os9ZCUgWRcSiJFJBfYcX46S1DnDXv7zpzFffTumxvL256BT1n28azid/ubke5waJYCU/2cXswDwwxOje7tmVTJf0nNzbAp uoftkDot xri9+MGnDDJ3R3JEXQ/EmdA43ivovxVoNj3YQoFPGw7zkihre5egsta3XKt6Hb4lZc/QvSrDhlIvCZZw4mCdxkhAAK7OW9nrpfjp10ftTTjHaj9ksD55T6gU158bfepB8xmuUnz+N3ZKVHFl9KYKpMeDeqPyEVA/EdwC8II36q3stRkZ6TIVs97558AVhcofpW0Lf4TPGhxUQ8DFb8Ipl7jvVJEGruXKnYlwos+9nUykB9Zzq+DMjnL8l76CDY8SDaeM6swNSey2wlXhOCwzxPNjsU3hzQ2u4b/to 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 30/06/2025 10:08, David Hildenbrand wrote: > On 30.06.25 11:04, Ryan Roberts wrote: >> On 30/06/2025 04:34, Dev Jain wrote: >>> >>> On 29/06/25 2:30 am, David Hildenbrand wrote: >>>> On 28.06.25 05:37, Dev Jain wrote: >>>>> >>>>> On 27/06/25 5:25 pm, David Hildenbrand wrote: >>>>>> Honoring these PTE bits is the exception, so let's invert the meaning. >>>>>> >>>>>> With this change, most callers don't have to pass any flags. >>>>>> >>>>>> No functional change intended. >>>>> >>>>> FWIW I had proposed this kind of change earlier to Ryan (CCed) and >>>>> he pointed out: "Doesn't that argument apply in reverse if you want >>>>> to ignore something new in future? >>>>> >>>>> By default we are comparing all the bits in the pte when determining the >>>>> batch. >>>>> The flags request to ignore certain bits. >>>> >>>> That statement is not true: as default we ignore the write and young bit. And >>>> we don't have flags for that ;) >>>> >>>> Now we also ignore the dirty and soft-dity bit as default, unless told not to >>>> do that by one very specific caller. >>>> >>>>> If we want to ignore extra bits in >>>>> future, we add new flags and the existing callers don't need to be updated. >>>> >>>> What stops you from using FPB_IGNORE_* for something else in the future? >>>> >>>> As a side note, there are not that many relevant PTE bits to worry about in >>>> the near future ;) >>>> >>>> I mean, uffd-wp, sure, ... and before we add a FPB_HONOR_UFFD_WP to all users >>>> to be safe (and changing the default to ignore), you could add a >>>> FPB_IGNORE_UFFD_WP first, to then check who really can tolerate just ignoring >>>> it (most of them, I assume). >>> I agree. >> >> Meh. Personally I think if you start mixing HONOR and IGNORE flags, it becomes >> very confusing to work out what is being checked for and what is not. I stand by >> my original view. But yeah, writable and young confuse it a bit... How about >> generalizing by explicitly requiring IGNORE flags for write and young, then also >> create a flags macro for the common case? >> >> #define FPB_IGNORE_COMMON (FPB_IGNORE_WRITE | FPB_IGNORE_YOUNG |    \ >>                FPB_IGNORE_DIRTY | FPB_IGNORE_SOFT_DIRTY) >> >> It's not a hill I'm going to die on though... > > How about we make this function simpler, not more complicated? ;) I think here we both have different views of what is simpler... You are trying to optimize for the callers writing less code. I'm trying to optimize for the reader to be able to easily determine what the function will do for a given caller. But it's your name above the door :) I don't want to bikeshed, so go ahead change to HONOR.