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 8F254C48BC1 for ; Wed, 14 Feb 2024 13:53:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0C24E6B00A4; Wed, 14 Feb 2024 08:53:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0718B6B00A5; Wed, 14 Feb 2024 08:53:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E7B7C6B00A6; Wed, 14 Feb 2024 08:53:20 -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 D756A6B00A4 for ; Wed, 14 Feb 2024 08:53:20 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A51A080ED7 for ; Wed, 14 Feb 2024 13:53:20 +0000 (UTC) X-FDA: 81790551360.19.9185D75 Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf06.hostedemail.com (Postfix) with ESMTP id BF9DA180009 for ; Wed, 14 Feb 2024 13:53:17 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=JMRxzCjz; spf=pass (imf06.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707918798; 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=PgaJ49BhAMCLOE6dIaBl/wo8RSey7cGj+RjgTwSx7ZY=; b=WbbI2K7DzglvoiuRm6iNS6famevwGwWi0CqPBKOsm8TlGQiKG+vp5Y+rGOyXiAC/9p0ljE IMFOtPLMJt6v9VYYXmRQz+HlMwR6redIr9mnirAYgRTTmY0bLTko/yyfSq6jvrKZGIDHE5 TWffrU2QE4aGh0NnhO8rRQvUKD6WtGs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707918798; a=rsa-sha256; cv=none; b=vLUgFMZaZl/8E3Oa4gZm/xIscq9mG/mZbkYZ3a+N5uwcM2vpZSlqf7vLZlQ03k1t1mm/3z eXbe/YrtndK4NMNG83zpy41o7Yo+iRBVfPrc39EzizQcb/Lvd8I7UNstwO1IIMM2b6Roen m1em6d33Jd/HuUcU/oMW5NZV2MDawII= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=JMRxzCjz; spf=pass (imf06.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=none 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-202.mailbox.org (Postfix) with ESMTPS id 4TZfm92ClQz9sSV; Wed, 14 Feb 2024 14:53:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1707918793; 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=PgaJ49BhAMCLOE6dIaBl/wo8RSey7cGj+RjgTwSx7ZY=; b=JMRxzCjz3aXN4ygkKy0nGgnkoH+yYQGcDxiFsx6+ZU9TQNe6YG58EpL5ItS32oE3HuW2ki EZk7Eqy9sEIyTczO8ML6OSm8Sb310sk6+0k6CdzDKeLJ5l3Ht1bu95DGVWkk+hRnOtPIMR dk+v88kLjoovJGwIuGZjw2d2lNCzXIc/rOrJxPPwIIwyOPSZVEdbCyzYMscEV0cJKmUoqg SZBtTVLIu9uqxQwlezn8uEOKshKoYxPhPBGSfW9hu+uOVpu61tG8d5fRYTMCn4yafcYoJP YrIcTEpu5EtVONCwsJOYGA/U0ACNBTnwi1W77P63U6mpSOyFytpGDhx06QVnvg== Date: Wed, 14 Feb 2024 14:53:04 +0100 From: "Pankaj Raghav (Samsung)" To: Dave Chinner Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, mcgrof@kernel.org, gost.dev@samsung.com, akpm@linux-foundation.org, kbusch@kernel.org, djwong@kernel.org, chandan.babu@oracle.com, p.raghav@samsung.com, linux-kernel@vger.kernel.org, hare@suse.de, willy@infradead.org, linux-mm@kvack.org Subject: Re: [RFC v2 04/14] readahead: set file_ra_state->ra_pages to be at least mapping_min_order Message-ID: References: <20240213093713.1753368-1-kernel@pankajraghav.com> <20240213093713.1753368-5-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: BF9DA180009 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: ctdktepf7rq1fyi13mznrgscm1o7afw6 X-HE-Tag: 1707918797-880944 X-HE-Meta: U2FsdGVkX1/K5/ajFPJh+jHEvVJUb3fvOmgTyz4ZIJ4lhCQaL485v7AwlspBrdwMHGclTdBZ+bqUX7DXpF7hJ1CbcJWxs7aRbLG2oKkb7GgESoeQULj90gZ3z20XvkZH0UmehaytuEJcXzUAO0U8aWBeP1EL4kCDxU2bbzLVBzyDN+QZ4Bw6xjorsW6+2bGZXLpjKnds7md9i4wONdYw4Yv24Km7t5JpDQdF9dt1dIJaEJqaiL/v5zaUEw5Mw3fbGHOENAmSV8SSl9tCPBL4ZbYF0rYgl7yp28eB+0SDIlnW2TUYgFFSI1XOfIjaxyV29LV0DYQ/9dlJvMknTBpiEsc271iR1MUVkq0jmup9igoMwuwLrC/q1M7FLE+NN22oYVpCk3QwChLR6DD3oe3OfWVwFB4+oasE2ddHDLRj3Q/n8sOSzGnPLsnGOI6hGKJ+gi1hieZoVVaw2cCdk9I2PB4aomHvEzSAoOAIKr7pb4KMKSKY+n0RIikNf4rNInfPgnznMA6PSNNzUyg8dflCxg14mAM0UZp3hxJQcDoTqcAYztFfSBMsb6Rc51Fa2mVKsNXQvL3WwWNiKoQXqQBMiNphme49TYNvEJvqyZyMc/rBHnmilZa6lQo7ITDg8u7DODoayLS487a1s52ql08nOf2NHHfmeFVLQSBjxSfG61MSTycNvWS1EVjaCrttfRgUSwUid4pw1QqAGnNzD62GFz1Lb0+VM2HNL0qKr2ja5rShdPzenllrp6BLB+9wTx3Y4+/bhxYZqsW6WMA1adZz3XTPSrbQwuE7P7l2OZGH4gk4NEA9i/0Bm/89PT+ICB1lJ+LJhhgSprkJ12FvZV8YJXYSV3onadGwzqgXAVneZrjme1QLYw63mqAOzOtOoQ5IZS+iVbn+1jE= 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 Wed, Feb 14, 2024 at 02:32:20PM +0100, Pankaj Raghav (Samsung) wrote: > On Wed, Feb 14, 2024 at 09:09:53AM +1100, Dave Chinner wrote: > > On Tue, Feb 13, 2024 at 10:37:03AM +0100, Pankaj Raghav (Samsung) wrote: > > > From: Luis Chamberlain > > > > > > Set the file_ra_state->ra_pages in file_ra_state_init() to be at least > > > mapping_min_order of pages if the bdi->ra_pages is less than that. > > > > > > Signed-off-by: Luis Chamberlain > > > --- > > > mm/readahead.c | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/mm/readahead.c b/mm/readahead.c > > > index 2648ec4f0494..4fa7d0e65706 100644 > > > --- a/mm/readahead.c > > > +++ b/mm/readahead.c > > > @@ -138,7 +138,12 @@ > > > void > > > file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping) > > > { > > > + unsigned int min_nrpages = mapping_min_folio_nrpages(mapping); > > > + unsigned int max_pages = inode_to_bdi(mapping->host)->io_pages; > > > + > > > ra->ra_pages = inode_to_bdi(mapping->host)->ra_pages; > > > + if (ra->ra_pages < min_nrpages && min_nrpages < max_pages) > > > + ra->ra_pages = min_nrpages; > > > > Why do we want to clamp readahead in this case to io_pages? > > > > We're still going to be allocating a min_order folio in the page > > cache, but it is far more efficient to initialise the entire folio > > all in a single readahead pass than it is to only partially fill it > > with data here and then have to issue and wait for more IO to bring > > the folio fully up to date before we can read out data out of it, > > right? I think I misunderstood your question. I got more context after seeing your next response. You are right, I will remove the clamp to io_pages. So a single FSB might be split into multiple IOs if the underlying block device has io_pages < min_nrpages. > > We are not clamping it to io_pages. ra_pages is set to min_nrpages if > bdi->ra_pages is less than the min_nrpages. The io_pages parameter is > used as a sanity check so that min_nrpages does not go beyond it. > > So maybe, this is not the right place to check if we can at least send > min_nrpages to the backing device but instead do it during mount? > > > > > -Dave. > > -- > > Dave Chinner > > david@fromorbit.com