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 E423FC54E58 for ; Tue, 26 Mar 2024 08:56:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61E6D6B0089; Tue, 26 Mar 2024 04:56:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CD3B6B008A; Tue, 26 Mar 2024 04:56:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4BC1B6B0092; Tue, 26 Mar 2024 04:56:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3C2826B0089 for ; Tue, 26 Mar 2024 04:56:14 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id CA0DF1209F9 for ; Tue, 26 Mar 2024 08:56:13 +0000 (UTC) X-FDA: 81938583426.12.F575259 Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161]) by imf11.hostedemail.com (Postfix) with ESMTP id 006D540004 for ; Tue, 26 Mar 2024 08:56:11 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=S9FEMClW; spf=pass (imf11.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.161 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=1711443372; 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=XpgxVlBKjKrVn9MhWjJ6FRn4nkr5mAP1dQnGjR12Avg=; b=3hmWmBD9rsDY4RmGVmyCOm3LbyOrqV8Q/onMiqz/8btIzpfMVWTbKz6eGuqDjmfsbwJROn 8Q68aax2NAN86Xk6kOU99PbZaLyqlyvOUBhmtiMzpw9YepBcuMLH2fbEvqbtmwAfGPqYHV WrTeGxb8N7vP/ovhqObCQVUM//cEYoA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711443372; a=rsa-sha256; cv=none; b=DeUrnKOdJcHBgMUtkKjZnqa8lh5ukwKO3O93pn7yc+UZRrY27Fney5gigExKW3gk2eB9PC YFIZJkkHfbUi2LB6jqq4WT1ABFOGi4ZUFsk7M1gZ+xIr8PmVCEg6L0dW7cskQHEUmHxprM odt/JKT1Di+8HA9wPNZXMrsCmbKwlIY= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=S9FEMClW; spf=pass (imf11.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.161 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com 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-103.mailbox.org (Postfix) with ESMTPS id 4V3kDR6xxLz9sTd; Tue, 26 Mar 2024 09:56:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1711443368; 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=XpgxVlBKjKrVn9MhWjJ6FRn4nkr5mAP1dQnGjR12Avg=; b=S9FEMClWMRg7xZPklOmpzcCTtZL6hs5IPFqYBeDYTHgvVoG9iP+ig0BwtYQ24gWWU2WVCS 3uSyUcJDu/feCaAGss7hbXuMV1f0RrERROceks+RyRpxyerWfUppHtZrGWbJSjaHHYznXv +eBATqmcyV4lMfTtIDODQTaZIjlygvXZWFQoL8bsOcd0LLkhrPGNgD7LX3Xl/9eiqRYQ2n 3iEMMo/TZU4Y34gywx+YT1J1F24P0n3drx4HOzz70jetX96Gde9+CweznN9KLk2ohW5yxu Mmcofwg52MFgM7Ut9N5KR2S766fXlDWgpZnRfbcl+kcz2AORsZYnqAEwDx/b2A== Date: Tue, 26 Mar 2024 09:56:03 +0100 From: "Pankaj Raghav (Samsung)" To: Matthew Wilcox Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, gost.dev@samsung.com, chandan.babu@oracle.com, hare@suse.de, mcgrof@kernel.org, djwong@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, david@fromorbit.com, akpm@linux-foundation.org, Pankaj Raghav Subject: Re: [PATCH v3 04/11] readahead: rework loop in page_cache_ra_unbounded() Message-ID: References: <20240313170253.2324812-1-kernel@pankajraghav.com> <20240313170253.2324812-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: 006D540004 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: mf8k5mafn1nq9tm4z37ik7mxbfxef1kq X-HE-Tag: 1711443371-395202 X-HE-Meta: U2FsdGVkX19rmZ9a+bfRPR1+cgCmvIJ31jLbMx3iDNjlJtEZzQmY4fmzpcs/y8P0wcj9SVTLLJWuQHpux39eT1Q9UXldcn1XEBVybB8ke9nM8WzEJ3BSYHirFeP+lyV/SBnE0Y5EB9H565n5V4lrfvjc8+Xnt1Kl+piDC5/RW6ndZqOhxTVBwe+QVVusFgtFIqGHR0AH3WUgOdEjNmbqNisp4EMtKy0ZdOhNDDvMNPCfNzzGy9KSL7PudVomd0pS2F51+TC6cGsUXqPN1TEc4HyOV7+Ww8LDShCqN5ao9X8LXhIOjqhc+9JjMUs/ZITFczd0YhhiyLay7kQ8NsUCtXFj1H3uWBn9yTj36WQ6M9EZpeVtnYITE2NwAfCsKqWkd8dqWwaGhsV31mByolrU15Fp5JkxbwGo3XeptvBTjzsNSFqAr1Ls8O04W9WxA+MXhWvk07EgVCbnGZx2bKM1pQ2Oh/JyXhavPOx9lZVUlGA0YNl/W8TTb69V/ivFzFlI+SFSs2H934lrJH4eMfayQMTm0+VQeZdjsjCaabqirNab14eOANpPhMw8f7ZAQZZ0hMLSujIFFSZB0veHXnke1urC3uJ3iMI41c1Q6a3qzrPQTIe5txc1rtEYJxRv18ayFgY4JsY9A+QERzCEj8LwqMQ3lTdDPgnpqLXWB66gY0+Q08fDWtFNXBXmq81htyon+6C3KqDumyY2wVOuvxT7/tSogFuzZW5Kk/Idrt/DZLQWfIU9cTFXFMW9EMvDxhT4C+h8elyHkQlqxo3Y0hF2M5Zhb2hh5Z6yuXx1Hm5yOj9fZwnMBJv9kzM9wgLUYgHRAtdFi2css0pYOCNabSmdnv5pNWm0CLBZ2MXsh2JfvsQMk0aN9cMPX99Py/c4TVPo4mFv1a/vC2sr9BF9RJaMa4FqrP2Y6bwe2MEyU+ImVZ7daqUOUZTVc6+t68TcGC5WA9Mec8x3j/eNWuuT3Ly DC5ZJcQI ftj16ayfG1SE8bTukrr/45u3f0ABJxR0Plmbe5XlWpzy+Nn08zogzJ4ZjaFsAjSYQFqicPCbFIhXmMnQqIfJo8/iUom+2lvROxAKvpDX+nTG63UfJwwiDm/5j+dJo/4OnPTPpQgGL4XoZcHHIyTFG2KiWkL6S3U1BJU7SriswfuuAHo+6eRrGcxmaZ9W+Gvsa6Iok+eThPIrUxSkJ9iBI/kdfN/NuxqR8vG9QPYjL0GB+oeHAW0b3EcX0RaPuH8HARVNpPzMKCqdn4kxW1UWHe/E+Sc5tozyWyeW2k43sniC68co= 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, Mar 25, 2024 at 06:41:01PM +0000, Matthew Wilcox wrote: > On Wed, Mar 13, 2024 at 06:02:46PM +0100, Pankaj Raghav (Samsung) wrote: > > @@ -239,8 +239,8 @@ void page_cache_ra_unbounded(struct readahead_control *ractl, > > * not worth getting one just for that. > > */ > > read_pages(ractl); > > - ractl->_index++; > > - i = ractl->_index + ractl->_nr_pages - index - 1; > > + ractl->_index += folio_nr_pages(folio); > > + i = ractl->_index + ractl->_nr_pages - index; > > continue; > > } > > > > @@ -252,13 +252,14 @@ void page_cache_ra_unbounded(struct readahead_control *ractl, > > folio_put(folio); > > read_pages(ractl); > > ractl->_index++; > > - i = ractl->_index + ractl->_nr_pages - index - 1; > > + i = ractl->_index + ractl->_nr_pages - index; > > continue; > > } > > You changed index++ in the first hunk, but not the second hunk. Is that > intentional? The reason I didn't use folio_nr_pages(folio) in the second hunk is because we have already `put` the folio and it is not valid anymore to use folio_nr_pages right? Because we increase the ref count in filemap_alloc() and we put if add fails. Plus in the second hunk, adding the 0 order folio failed in that index, so we just move on to the next index. Once we have the min order support, if adding min order folio failed, we move by min_order. And your comment on the next patch: > Hah, you changed this here. Please move into previous patch. We can't do that either because I am introducing the concept of min order in the next patch.