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 AD061C3DA4B for ; Wed, 17 Jul 2024 09:46:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 449956B0095; Wed, 17 Jul 2024 05:46:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 420C46B009C; Wed, 17 Jul 2024 05:46:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E8876B009D; Wed, 17 Jul 2024 05:46:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 0B3076B0095 for ; Wed, 17 Jul 2024 05:46:38 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C5CFEA0A0D for ; Wed, 17 Jul 2024 09:46:37 +0000 (UTC) X-FDA: 82348764834.10.D9CCE36 Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161]) by imf26.hostedemail.com (Postfix) with ESMTP id A9B5914001C for ; Wed, 17 Jul 2024 09:46:35 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=Q5k8IyCu; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf26.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.161 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721209566; a=rsa-sha256; cv=none; b=5nLQIT+3QyI0RJppmTk4S8U2qDQMiV+PcMwCCFax7jLC0F8/WEtT94XHyD2CBNRJzGqQ3r Zczwyf/KWXSKYy1WOmtOpDT0fp/elc/Pn5UQa1wyVVVlVshIxggTwF+P3lNAzFyiqO6Zcc hE9+KwhC2YXMIxUyvJhi0Hzn1G1PN4w= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=Q5k8IyCu; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf26.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.161 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721209566; 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=chHks11OcswoqogGm1l7KNdqudLDcdLYsX/xiCrSWrw=; b=2Be2SEwoCiaqVcg+jC4XCs7D/fyJ3C1opLXybkZg4T6499WMis5c5RP6Bn7usfWzGAy2rY i+BaqBvqq+zgyD2JktqOkRfmkNYa6JZ0y9Hd+mg3WUHTBlsosTW9FhsH3bxkNAdKdVa1VX SaYdVv9ZxZA4l85s52lpOtGx4B+kN5A= Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2]) (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-103.mailbox.org (Postfix) with ESMTPS id 4WPB0Q4Trbz9snJ; Wed, 17 Jul 2024 11:46:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1721209590; 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=chHks11OcswoqogGm1l7KNdqudLDcdLYsX/xiCrSWrw=; b=Q5k8IyCuR1G8bBqV6YVgMWW5NCt0dFK7ByXnl/M77lenZEsR7iG0g5nr8oLutDOp8ixZuX yAzc6URez2rAKZ+sdmvx6yuVsc00jjrabunRbg4YMJjHr4ssLsE2Zxc7WZ3X/1izyB3moB o5tvEyBA7gFp6ePlijMsRG74Sou+2m3F+b6zipL6lE1+dQshARM0xC27dPJ6aWG7DYRBYX Bl+xO4Ync9C3n8xvRweoYRM6fO+AeLHIocUS04ieCec1pKwwyqliqTfHA7Hib/sqU3M/7t 2HxkEE99OIXrlBQ+Yr5nlbXYKMnNMN0i32+gxARhumo6yJ2PHCAONcv7OUT3jw== Date: Wed, 17 Jul 2024 09:46:21 +0000 From: "Pankaj Raghav (Samsung)" To: Matthew Wilcox Cc: david@fromorbit.com, chandan.babu@oracle.com, djwong@kernel.org, brauner@kernel.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, yang@os.amperecomputing.com, linux-mm@kvack.org, john.g.garry@oracle.com, linux-fsdevel@vger.kernel.org, hare@suse.de, p.raghav@samsung.com, mcgrof@kernel.org, gost.dev@samsung.com, cl@os.amperecomputing.com, linux-xfs@vger.kernel.org, ryan.roberts@arm.com, hch@lst.de, Zi Yan Subject: Re: [PATCH v10 01/10] fs: Allow fine-grained control of folio sizes Message-ID: <20240717094621.fdobfk7coyirg5e5@quentin> References: <20240715094457.452836-1-kernel@pankajraghav.com> <20240715094457.452836-2-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: A9B5914001C X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: gnwb3iymutyn87b6bxyd1k38frgzq45s X-HE-Tag: 1721209595-437719 X-HE-Meta: U2FsdGVkX19TDkj6ALrqKjrqxcO0VBcWKqACdZCokRJ+qqXqydMo5MRsr3q/jECNPJqsit5f1HZDtZO5QGRKAWkSr44WllcQhblkNqAjp2+bkDsCd0JR1OS5E2u26W/XP3W4kBMxxX2reKDwJB/PVsC8Ic3giEv8iXsfZ7z9BNlrpUCYVDB9HlCq57PymoVeSOoHGEEMnEjuJjkGrk/sIT7oUnFo20J6Iywh0zhty51TgLXi/RF1lU33J/68WPIAyju8HdEqS4y7FHsLPoAje/evKasyWODPA1dd2PMvrFM7WJcJ+ga6VcpFX40hq4kcrYeZzMZezEjhc2GDp8bTY56CvVeuUTbn061sExsHPvfbDZ2/o1oRFteJebspXfX1C6AzraOERNEBRvN6zKoDGH9KABjyn0euTxCJMMn5R51orNYhsRiBkQ8jbiBPAxPmlRCmuQLCYPHHD5rXM4utXlKlwpvp4kG6MGEfpvrEa3W0ret1biE4cDDqsYl2F/790hRPCg+asAWI2/sUVFZdXHvjrTy5Dl3tn7ZFuynM/6BHTtqlvLfO4OO6k6ekm7wIgv7ocxTXx071fxBeU5KwVR+fkzwFnYSQuioJHQZA9zOcaCi/ZsCzOCfPiLEJLXeok4sZSReW1zGuAYpi2Vzsu+MSxQdL9fy4tJLfyWyEuwOMRm3oiN/2NuCSJZIqhgkpqx8wmru9Hzpt69B8Y+nxX7H4UCqfeyzkjRKC3HjpFGf2oXaLa+/sKZJH9LpSWdJQITpeR8IsESqLCTnVoKx/z6OFKLn9QIcMEJYWoXry7kkU/tSQIojDDHqXJEbP6L0lKr2BDnOwu0lmzcivpd7If8FByCiu8tlDkunQ/Wzlj7ElsjBiZ+MD703Rg1yknysEiX1V0RztatHQ8jfgqKd63mLLbI46LJLiMr96POl2mBo4iDBjCK7mlC3FVVLfTGsK6K4v7QwQnynV0vSMUau PR/G7fW4 ysv7VPCsvkS5okcHn092fq2kA0UmLIHEBR5+9/H2antJHFBkdm95KwhdyyxhqeMuU/AOUnQVGhK4L1JvZX8NeKhDsx7Oqj3+r9GFZjxxv5ExXJ/g8O7fDOtGEBG+COHz81XEIdQC1lwdaF/PAtC+eANdjiT+P+I+ocrQPFbtywD3tNQqCAdaM0NsJTKyV86nXDlI3K3ShZBb6NMQlEfbIyB9xLMZzXtxvy416L+hqEf9uT+KgJgUBJihzcmyxYOEzwc8SkgRq18MT4yvGZeOwdRgDESXZkcPPiaQ1Tzpgi7bckc83XhGj/y8aevDkqX5PRdvdzwXzw7VPvC8hseG1DTSQciN+/xTmzzBpaDgaaU6Np4TI0jjEfI5dDA== 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 Tue, Jul 16, 2024 at 04:26:10PM +0100, Matthew Wilcox wrote: > On Mon, Jul 15, 2024 at 11:44:48AM +0200, Pankaj Raghav (Samsung) wrote: > > +/* > > + * mapping_max_folio_size_supported() - Check the max folio size supported > > + * > > + * The filesystem should call this function at mount time if there is a > > + * requirement on the folio mapping size in the page cache. > > + */ > > +static inline size_t mapping_max_folio_size_supported(void) > > +{ > > + if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) > > + return 1U << (PAGE_SHIFT + MAX_PAGECACHE_ORDER); > > + return PAGE_SIZE; > > +} > > There's no need for this to be part of this patch. I've removed stuff > from this patch before that's not needed, please stop adding unnecessary > functions. This would logically be part of patch 10. That makes sense. I will move it to the last patch. > > > +static inline void mapping_set_folio_order_range(struct address_space *mapping, > > + unsigned int min, > > + unsigned int max) > > +{ > > + if (!IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) > > + return; > > + > > + if (min > MAX_PAGECACHE_ORDER) { > > + VM_WARN_ONCE(1, > > + "min order > MAX_PAGECACHE_ORDER. Setting min_order to MAX_PAGECACHE_ORDER"); > > + min = MAX_PAGECACHE_ORDER; > > + } > > This is really too much. It's something that will never happen. Just > delete the message. > > > + if (max > MAX_PAGECACHE_ORDER) { > > + VM_WARN_ONCE(1, > > + "max order > MAX_PAGECACHE_ORDER. Setting max_order to MAX_PAGECACHE_ORDER"); > > + max = MAX_PAGECACHE_ORDER; > > Absolutely not. If the filesystem declares it can support a block size > of 4TB, then good for it. We just silently clamp it. Hmm, but you raised the point about clamping in the previous patches[1] after Ryan pointed out that we should not silently clamp the order. ``` > It seems strange to silently clamp these? Presumably for the bs>ps usecase, > whatever values are passed in are a hard requirement? So wouldn't want them to > be silently reduced. (Especially given the recent change to reduce the size of > MAX_PAGECACHE_ORDER to less then PMD size in some cases). Hm, yes. We should probably make this return an errno. Including returning an errno for !IS_ENABLED() and min > 0. ``` It was not clear from the conversation in the previous patches that we decided to just clamp the order (like it was done before). So let's just stick with how it was done before where we clamp the values if min and max > MAX_PAGECACHE_ORDER? [1] https://lore.kernel.org/linux-fsdevel/Zoa9rQbEUam467-q@casper.infradead.org/