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 372B0C3601E for ; Thu, 10 Apr 2025 20:23:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 36EA2280134; Thu, 10 Apr 2025 16:23:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3207D28012D; Thu, 10 Apr 2025 16:23:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 210EC280134; Thu, 10 Apr 2025 16:23:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 025FA28012D for ; Thu, 10 Apr 2025 16:23:23 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2AD20BB448 for ; Thu, 10 Apr 2025 20:23:23 +0000 (UTC) X-FDA: 83319259086.02.BA6E334 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf16.hostedemail.com (Postfix) with ESMTP id 43012180010 for ; Thu, 10 Apr 2025 20:23:21 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=s+uiFzZJ; dmarc=none; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744316601; a=rsa-sha256; cv=none; b=2I1FHB/v9ckxI4ctLXpBxsKNj8RZF+gPtiBAPhyRiu3/Q/Ah4CbAQThR18LFV1+od5tou6 F2YSLMAvDO1+vMd6wWUf5Ji/HsDde8KYoyBAwjA16L21gEwl/RFpcQY5VJsXWpleOSccT4 Pem+A2y4jR4+i9o+2dEGsTgSUkWRsnw= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=s+uiFzZJ; dmarc=none; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744316601; 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=JA5xnFiYRdoPh7JXzWsP6L7crchKwYbI+Ps2YIbs+fI=; b=LFlQ/x6oSqf4+2QzESAYWdMNvdin25NjvWAVwlkq7jnvbSXVpu5G3AS8MG+JeEUPsUrYzD Ht3/vs870v6S9rzXoJaPve2G+RWl+gibAyTpr0OuUAo2hUbmv+XOYMGM/GoEXj08Cghm01 tc7L3OBLY1rAQUXUkCB0LDwXRb16J/E= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=JA5xnFiYRdoPh7JXzWsP6L7crchKwYbI+Ps2YIbs+fI=; b=s+uiFzZJlCh98vm9rwNyZu0Rhf iPdtA/5OvIiUl/CzlLXYSaPhjHZuIPetcHDqKzXC2TmWW8y5O6ic6WC9OTSO3Y+x4ckNdmrJYCsWY t/hR2gzPHXLBUmUL6rIEmm/U8ozQz5e21E/HG09btnbo0uJSXhXGfSP6g0MNPBCWJH2C9t+ZlvvFC LwNgwjxbx5xsdhX3tZvrchVzekhRDeg32TCowWCGxesynq0DRuDy0kIz0uAI+zu6dk/L4hmJF1FZ0 59eRC8Pkvull77XbOzO0IWY6hqzAMmyZzNAHGZGHF0xoF+PksgUaAtkIKSsJRrgJ28d3a345gYO8+ kmnRF2YQ==; Received: from willy by casper.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2yQe-00000003Llz-48OG; Thu, 10 Apr 2025 20:23:17 +0000 Date: Thu, 10 Apr 2025 21:23:16 +0100 From: Matthew Wilcox To: Dan Williams Cc: David Hildenbrand , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, nvdimm@lists.linux.dev, Alison Schofield , Alexander Viro , Christian Brauner , Jan Kara , Andrew Morton , Alistair Popple , Christoph Hellwig Subject: Re: [PATCH v1] fs/dax: fix folio splitting issue by resetting old folio order + _nr_pages Message-ID: References: <20250410091020.119116-1-david@redhat.com> <67f826cbd874f_72052944e@dwillia2-xfh.jf.intel.com.notmuch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <67f826cbd874f_72052944e@dwillia2-xfh.jf.intel.com.notmuch> X-Rspamd-Queue-Id: 43012180010 X-Stat-Signature: pbegfaty4oxuz3hbt5ktxsa9a87d5zst X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1744316601-247110 X-HE-Meta: U2FsdGVkX18hHSW4OXt9ZEFhjKdkufArJQ8/REOzoRIytUK7FS6xxDbs2mcX8hDu+pKHK/w8PYy6dP9iWQjt/53cs/PrcOw7Pc8kOmb7YB4nYX+ObddxUvyX3bCGMYBO0wIqsSIUf86TS6lZajuMdh36BjJ3W1OHkw+RVRNH/j6x3Qsn2A4OJXLsEF5CO0ewmRmZyKu7jirum9x8F/0RMHBenrcwN60GLZtYTyiMz3rI/Bl0ENUHPTHgozZXVKUZrv+OCx4AmsEs1eQZeKv7a7JA4GUi6deiqomBRmB6RhcsMZAJ+7vQ2hZMyrH8q7GQZg7juJY9NT6/SFURYjrInicJr7ZvuaugHtXpk0KfzVKbMSH16nSU4D+bixcVIuowCkFTdydVIE9OxsBg3x5IV8vRPqGjn45dNrQo/5VWMZ09lyxwHvzfWB2Qc7xf5uV+lcVbS2DCk2NEY4ZvVdqCF6iTvj8srqFpPLgliowjPF6dhJzzcKRLEzak59PIzqpgkuF7EA7tmAcTArPFFZJjz+zdaQsvGoB7bKRk/SESD4FEofTrWEavCqATo33obmMyDxVPmxFAYpiwRC8Ev2IXiAD9vdGpxtsjKyBPWqYmt3oc6YERD3hLfEeeT93p/0y35l5Va7C34pmvU0+sQ8M+yoT6qEngVoITBxRtGEmJ2GA8G9g0CXD+3wQKQ7D9AmnVnqSukC8XZav+beQnCr3ZttaRDBEneahEU8IXA4BqbRSoeRli1TXD0CqORjJxl40mU4P07uf/KBEz0eEo7z+vDb8LksShzTc1SvMuNZsXeoOiaQAA5Cp/qTgeqtxtPd+6sW3YP8YYP++8eFC8EASdiMNnA9Xwn9iJZRLwsIPvoe62WQdYXR32ipO7zujxsxmJ/ROgSSiD/QKAP8zhn2J0hSyezEAE4iii3zBB5pZZykFbz9lvf9PZjMYOeAjIyOVSOvqjB5A9IumAk5txJjB EorpVPNc CU8TkhDqRdcMsu7yqcsNAtqTN4f8w4EYBGNHkWP14VX2h3fNqSxXz/R7zix86fEhvvkdGbAyOekklQHAwnJx0E3ene8kZHo3dFR5u+JFJr0St1VI/XwDcG0plmIj0NNAxbJlC2em7L7UQgU7Axb5PTU79s96ngUxFm7q5m8mRfSU3gLLXwHuvKt98EeWbrlAoHckQNJSeDnBpwLGbqfMrp0VEszA0Zyt6zYKzBzfZfxncjRjw2I3mqF8BbBfrAMvm1LBGtzv0okj9aAj2OtZtapey+Q== 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 Thu, Apr 10, 2025 at 01:15:07PM -0700, Dan Williams wrote: > For consistency and clarity what about this incremental change, to make > the __split_folio_to_order() path reuse folio_reset_order(), and use > typical bitfield helpers for manipulating _flags_1? I dislike this intensely. It obfuscates rather than providing clarity. > static inline unsigned int folio_large_order(const struct folio *folio) > { > - return folio->_flags_1 & 0xff; > + return FIELD_GET(FOLIO_ORDER_MASK, folio->_flags_1); > } > > #ifdef NR_PAGES_IN_LARGE_FOLIO