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 18372C10DC3 for ; Thu, 7 Dec 2023 21:36:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 983516B00F0; Thu, 7 Dec 2023 16:36:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9331D6B00F6; Thu, 7 Dec 2023 16:36:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7D3CC6B00F5; Thu, 7 Dec 2023 16:36:04 -0500 (EST) 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 6B90E6B00F0 for ; Thu, 7 Dec 2023 16:36:04 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 34383140211 for ; Thu, 7 Dec 2023 21:36:04 +0000 (UTC) X-FDA: 81541330248.06.CEEB783 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf25.hostedemail.com (Postfix) with ESMTP id C5A3CA001B for ; Thu, 7 Dec 2023 21:36:01 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HTuLP32Y; spf=none (imf25.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701984962; 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=AWfjo1FCG0zNp8yVCNT7ypjhavVj3uaSeJIY6fXZW/Q=; b=iJmkXr444QbCrBHBuWiSDBaOJOfQCPVN2KCoas9JqG2wtOn5LhRCWZbAxlxEZUv6Lq0myv sfijHAdGuW6SIO+xFzdxfTv92Xr7In02nitWAz3zohcItWS3WboyXmaQBwjB7vXVrjOvSy eVM7MQdTj1S4yhCSbRqsrW4TE27uax4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701984962; a=rsa-sha256; cv=none; b=Y99Loit1q3ZncNfbkAOuR2CCjyB2ayVM1WUuUjUViVcqfndELT3Do57jUKn5484Qc1JhO9 EkZbr1x010O03cFT1nNTz9gGbHtww/UgR+MK0X+PvDca8BpbQEWs5/lzbUrl/AqfzoRLUs iQ/4jacBg8HXK3LOuT1HchdCLyvKgVs= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HTuLP32Y; spf=none (imf25.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none 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=AWfjo1FCG0zNp8yVCNT7ypjhavVj3uaSeJIY6fXZW/Q=; b=HTuLP32YvRPL+oDE1a2yf5CShL ZnbMwPGwoi+NE6tA3HShRYkj/nFemjITFmj5Ox2jNRUaliUFlLDv9SObg0rJ5oT1WvP7zsjxun+um 1n3KXNVINV0TCPAQxQN4czj4sTVT9Of4N8CX4cSkmDyuAKQVEgGkD44HDRPlI7QwkZdWumu+qgxyR 4Q0V0xPz3VUXOTkIqALZfgsxEDxeNab4xoQyhQsDoX1YlLarOB5VF88kzf1zLdrTvw3UPcsPbwiq3 gQ2O1DcxXwjjfagYLU32Q7kUgRaotlnTsgr99KIFU7JUjVCyTwfXDfsYjgLIdajtZG/qiOgqqpm8d CB99jGig==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1rBM1H-004PV4-3e; Thu, 07 Dec 2023 21:34:55 +0000 Date: Thu, 7 Dec 2023 21:34:55 +0000 From: Matthew Wilcox To: David Howells Cc: Jeff Layton , Steve French , Marc Dionne , Paulo Alcantara , Shyam Prasad N , Tom Talpey , Dominique Martinet , Eric Van Hensbergen , Ilya Dryomov , Christian Brauner , linux-cachefs@redhat.com, linux-afs@lists.infradead.org, linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org, ceph-devel@vger.kernel.org, v9fs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 23/59] netfs: Prep to use folio->private for write grouping and streaming write Message-ID: References: <20231207212206.1379128-1-dhowells@redhat.com> <20231207212206.1379128-24-dhowells@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231207212206.1379128-24-dhowells@redhat.com> X-Rspamd-Queue-Id: C5A3CA001B X-Rspam-User: X-Stat-Signature: qrmhx7y1hnxcsx4jci5hqrcd79un885t X-Rspamd-Server: rspam03 X-HE-Tag: 1701984961-6387 X-HE-Meta: U2FsdGVkX1/UR8kI8fu8NP++WIGlLa5x6rQj8KEmBq4t772KbiNP7gFec2on9spOOK5h9RfYA7hW7M43Mwik84/P0XGncBGN2ANQcrsc0t92C9yeH3bnZ8Fa9WKN2pX8Zo2yT0Uz5u5/iyoOpl9/Ws5nqrrO7W46cB/LvE/5WpVp3lN68mQwwwbFzjbePsDrZnwZ6rr96U5H9IUECv4Xl/3NB8J4agJ3z6in8kZqet+bB/mz9yin5WEprhEim93DK2TVKJ7SpfBlk+NOu86871E4Nre/oUEO58YbtZHrbzGMOxs8DBT1/UDbEy9NdjsPz1glEvQya3Glw5RSnQbTPMyETUrDCHgu9gby/W12HKBWrZNBrCvzw/NMJnJL3RfbNmEFmzvoDVQTUff/zfmIr4g9U2A/zcKbeo4HsG2srjsyOpqZWgD/yElMzNcsvige00U9AwHouajFteNUoh/JpDsBXXeM+SuN8K2wQWW02oZGVMUDk1tHvYwTvfVoag2204nGn91C7a2vkYJvZc7SY0UAzXY3e30fs/2dYGZBr1BDfvxij4A1p0RkZAIgtOEDQLvuDocekKkH+RT2dn6CFezCUfvaJDII5KqBoI6vh1NyFn026SDqi8eFJM+KaxqpH7RlTFVr28fmEcYMmrCMzF7hc8hlPX46mdIsYZB12tB6Kav0dT51mc9vhyNsoMG0rrDcTBNBzIIEZnmMw+cxDhd6NeLnmL10Qwe3wXB8lNtIGJYIt5WhZFuMvOFFt8/suZgP0vWdgvIBVDhZ9B4NkD/f1xUc4lcQ8e/J6tmf3vCbR4k7nwIswbUFkzAOHpVCzjAFy+cEBTX3WqzeL6UoLn6gEO1StlYvfAJczMqGiKAoJHB6OdNJ6lggjezIhylVLjdThfgSc62w2a/6tpS6BWGLUWKLqNJYsqlp5qzQWR7Jo6NyVwImsL0f8AKfh7MjLYqTuwYjyPUPfg69qp7 ihivTKzr Q2ASXRp5TZpeQlzy98+Sg2P/trifXlFwlp/o3JofpLB6r6kQK0WGXIyM4aNZY53yuycFBtKxlc45LZDQ7Ud7wFzlfQ725mJKnpJ0qSut4dTjWXsfr7DXu8TZjdNlFIKAZHWND7pQEh+XYriA= 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, Dec 07, 2023 at 09:21:30PM +0000, David Howells wrote: > +#define NETFS_FOLIO_INFO 0x1UL /* OR'd with folio->private. */ > + > +static inline struct netfs_folio *netfs_folio_info(struct folio *folio) > +{ > + void *priv = folio_get_private(folio); > + > + if ((unsigned long)priv & NETFS_FOLIO_INFO) > + return (struct netfs_folio *)((unsigned long)priv & ~NETFS_FOLIO_INFO); Often one gets better code by using '-' instead of '& ~', and that's because 'subtract one, then load four bytes from offset 12' can be optimised into 'load four bytes from offset 11' in a way that 'clear the bottom bit, then load four bytes from offset 12' can't be.