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 3FA7BC25B74 for ; Mon, 27 May 2024 22:09:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 82C9C6B007B; Mon, 27 May 2024 18:09:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B5B96B0083; Mon, 27 May 2024 18:09:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 656406B0085; Mon, 27 May 2024 18:09:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 442556B007B for ; Mon, 27 May 2024 18:09:40 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A32A341594 for ; Mon, 27 May 2024 22:09:39 +0000 (UTC) X-FDA: 82165568478.15.1C3858C Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf27.hostedemail.com (Postfix) with ESMTP id 5E7DA40002 for ; Mon, 27 May 2024 22:09:37 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=d7GYKjCm; spf=pass (imf27.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716847778; 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=xofQJrMqQk/+jqsSg/d7hjeU9inOMDriTC1PeyMQG1c=; b=2svd2ZY6Ld1PWztcWzNfqEzKk5bgBLoQdQwzyijLw4hhDNZ34NAMkGQ/orn/eEzX7UBgIm l1H9avv0OeCQZitO3u75+dGmpbhDWhcysnIzgzdYOp51LGnzGKf4dUcAclhe7uOj6M8SKl YPLkPAa5quHxpkyYI3Y8RdZP+Fo3cNY= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=d7GYKjCm; spf=pass (imf27.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716847778; a=rsa-sha256; cv=none; b=EWI/N9tiVhiX/2oNDSbWf6RfjBCoiygjawFlaguUKlZM0wy0sYAAnkJXBDIsnClgt3drLK tBqLRtEjg3uIXv4XYIUMTWU+VRejcSzKP/U9K5m47ex1qI402rGW/6Oc/pPGiiy64qhdv5 43iZSlFcBARVKN/eXm3gr3z6H0Zpe90= Received: from smtp102.mailbox.org (smtp102.mailbox.org [IPv6:2001:67c:2050:b231:465::102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4Vp8vH030Gz9sSx; Tue, 28 May 2024 00:09:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1716847771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=xofQJrMqQk/+jqsSg/d7hjeU9inOMDriTC1PeyMQG1c=; b=d7GYKjCmdcKC3w87rQ2OBjU46lVmFu+qDHmCRuwcxFNx99FLKTE0TzY7RF8KBaU5NyPfUt hefNRq7vvZAlp/ecd2E8FnP7knvZpTtdv2f9fMYvGvgROdDTQ6tQUte5EamAs4TNNA3d1g pfm1uCH4+aMyOxS3MF0OravLFnL4FxjB48Ne9D0KhKZqnUCZ7N+uZYWaEB9WrwIDvqy7YY g+T86ovA5qY25WmbRF1r/SbWMjXrV2LAJOk5MEj32ge5pqCnrr5if4tcVTBwFR5zXUawVq kHUUR0HgihJiWD0KDSAOpac2L3etWpOwKQUreW9XzuZ9fKGUrjwIHOLO6QvA2Q== Date: Mon, 27 May 2024 22:09:26 +0000 From: "Pankaj Raghav (Samsung)" To: "Matthew Wilcox (Oracle)" Cc: akpm@linux-foundation.org, djwong@kernel.org, brauner@kernel.org, david@fromorbit.com, chandan.babu@oracle.com, hare@suse.de, ritesh.list@gmail.com, john.g.garry@oracle.com, ziy@nvidia.com, linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-mm@kvack.org, linux-block@vger.kernel.org, gost.dev@samsung.com, p.raghav@samsung.com, mcgrof@kernel.org Subject: Re: [PATCH v5.1] fs: Allow fine-grained control of folio sizes Message-ID: <20240527220926.3zh2rv43w7763d2y@quentin> References: <20240527210125.1905586-1-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240527210125.1905586-1-willy@infradead.org> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 5E7DA40002 X-Stat-Signature: n5g6fdihgojson1mb7dur8e99yc8cbf8 X-Rspam-User: X-HE-Tag: 1716847777-37620 X-HE-Meta: U2FsdGVkX1/KRey8+lp9f5tg0NtXnGHtlPqmQbBddXH9ZSIyyeAnhZMoKZBwRM7pRsszkPmwXf3VgEromhzVehrmyvMBLK2KGE3fHyTZe+s/vLUYK0QRPpmFUhWuMijxK3SigGnMsd5nWTC4/3evUIKGggUoonYaCwkQtBGGDWnkDMFLh0pmSgJcnHj4vEtDvclBoR3iAu7n6L3GFeOp//n7hEbLLslpaIqxQTD3ayOjJnpNuHmYDiB5lVD/0nYdLz6ROlePN2uV2lanwwSouzvohx6SUFwRvX1DbrnKroA9sbdO8Rs17GIJEJD7YU9RXhTUJTeuvwyvaG6B43ClDAMk1ehA5sSaWnzmEvKcrX+WyclcscvKyij/hCa8RArUi77kGkcIEhy9svlTOWzSOzZk6fGuimIgNaS/OfPFYLR2VCuvwYN0hbhVzVoxdC1s5O0edZ3bPY/8WYUN02aSStmkPTg/UqBWT702i/IW/tVwYvD/Oi++q6Vqut3pL34jRxD8aCz9g6D9qPXfT+k6HoCcA1sToV7yWDGBTTAXninu9M/D0MacAQ1NMvvpwIoYPjaWSVCdcOrJEXDyfJufGmjh5BJ8VCYaYCLaVqv2+/rEenoeKeBvkDv6dUwcw/UHoC/UQWf/+uB0v/w2Fob/hreo8PPjudRTbD7UamP3ELyWuGirQSR0vH3QeiCobcLOaZyddUOHBQVT+L7FqcXumL1zJvZAHJo5gAK2cbtAoOH9VsxGrH9f9v/pfzYHgQoYi2/nQiz5ZtRhXl4pB0ZVKajP8jbZDlSME7XZUrC4J4JtcWH2OB1UZ0lj7VJmn3Ea0YROIuOv+ThZflK7jeFVeC+Jz3/8D7Jft8kTxX+sq5Gh/UuQ19yZMEbQi9YS0fjdF79G/SeFhNkRuye/M4c/6V+2A0x6q0EZbLUZLFryy2CNzBEtn240zAgW/2INB8CpsYiTH7R2URYNpj0lx/T og9kl6ez jQbo2KyLnZZmQuhYAE1zbN+XES0ak5VAMoip2rK6V7rL/Sw/mfx1zLG6oStEvcd1C1SLPNmj6d/dEeXjNBr2D1cAkUgZqNJcOMoG4dNA+gl4+wsSiGzqxBzpPvPaaakwoQ6MdbFb7dIdl4GBwPKb5FJgzy9fUXdohwj3GfEoCFn7sY7bVriKqwyx6Ha9KVMqU82/0ILgUz/NGYS9/M+Eo8kxFJ8lXNru0vsQJn0M0Vz+i4ghB/FMN2ZtLDmgLVzMAdS0tk8BAvoeQKpBdZmIJjkHRSx6+1BXK88qQJSqYgaPudAl0WU+86qPy8SdzpzaKuEAUMtepE0xdEb975K/o1phmA3x6HpKk7mp5qLuNF8boe5v1d6h9PMCcdsZ3Q0nS0OWPlBoUdHLP66CMGiWGL9aej5RlmoINCLP8I6NYRsOHbTmNWVlZXTONEQ== 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, May 27, 2024 at 10:01:23PM +0100, Matthew Wilcox (Oracle) wrote: > We need filesystems to be able to communicate acceptable folio sizes > to the pagecache for a variety of uses (e.g. large block sizes). > Support a range of folio sizes between order-0 and order-31. > > Signed-off-by: Matthew Wilcox (Oracle) > Co-developed-by: Pankaj Raghav > Signed-off-by: Pankaj Raghav > Reviewed-by: Darrick J. Wong > Reviewed-by: Hannes Reinecke > --- > For this version, I fixed the TODO that the maximum folio size was not > being honoured. I made some other changes too like adding const, moving > the location of the constants, checking CONFIG_TRANSPARENT_HUGEPAGE, and > dropping some of the functions which aren't needed until later patches. > (They can be added in the commits that need them). Also rebased against > current Linus tree, so MAX_PAGECACHE_ORDER no longer needs to be moved). Thanks for this! So I am currently running my xfstests on the new series I am planning to send in a day or two based on next-20240523. I assume this patch is intended to be folded in to the next LBS series? > > diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h > index 1ed9274a0deb..c6aaceed0de6 100644 > --- a/include/linux/pagemap.h > +++ b/include/linux/pagemap.h > @@ -204,13 +204,18 @@ enum mapping_flags { > AS_EXITING = 4, /* final truncate in progress */ > /* writeback related tags are not used */ > AS_NO_WRITEBACK_TAGS = 5, > - AS_LARGE_FOLIO_SUPPORT = 6, > - AS_RELEASE_ALWAYS, /* Call ->release_folio(), even if no private data */ > - AS_STABLE_WRITES, /* must wait for writeback before modifying > + AS_RELEASE_ALWAYS = 6, /* Call ->release_folio(), even if no private data */ > + AS_STABLE_WRITES = 7, /* must wait for writeback before modifying > folio contents */ > - AS_UNMOVABLE, /* The mapping cannot be moved, ever */ > + AS_UNMOVABLE = 8, /* The mapping cannot be moved, ever */ > + AS_FOLIO_ORDER_MIN = 16, > + AS_FOLIO_ORDER_MAX = 21, /* Bits 16-25 are used for FOLIO_ORDER */ > }; > > +#define AS_FOLIO_ORDER_MIN_MASK 0x001f0000 > +#define AS_FOLIO_ORDER_MAX_MASK 0x03e00000 As you changed the mapping flag offset, these masks also needs to be changed accordingly. I moved(pun intended) the AS_UNMOVABLE and kept the AS_FOLIO_ORDER_(MIN|MAX) value the same. AS_FOLIO_ORDER_MIN = 8, AS_FOLIO_ORDER_MAX = 13, /* Bit 8-17 are used for FOLIO_ORDER */ AS_UNMOVABLE = 18, /* The mapping cannot be moved, ever */ AS_INACCESSIBLE, /* Do not attempt direct R/W access to the mapping */ > +#define AS_FOLIO_ORDER_MASK (AS_FOLIO_ORDER_MIN_MASK | AS_FOLIO_ORDER_MAX_MASK) > + > -- Pankaj