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 8745FCD11DF for ; Tue, 26 Mar 2024 10:06:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0D5C56B008A; Tue, 26 Mar 2024 06:06:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 05DE06B0093; Tue, 26 Mar 2024 06:06:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E43626B0095; Tue, 26 Mar 2024 06:06:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D02536B008A for ; Tue, 26 Mar 2024 06:06:48 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9DA6DC09FE for ; Tue, 26 Mar 2024 10:06:48 +0000 (UTC) X-FDA: 81938761296.14.4342653 Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf27.hostedemail.com (Postfix) with ESMTP id 7098C40009 for ; Tue, 26 Mar 2024 10:06:46 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=SKyZ+6qj; 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=1711447607; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/l44hIRVvOPEpGQpeViqZ0xwsEycYNDv++J/k+vdgEc=; b=Yj4CyZ8AcuzZcioRiAyP7zaptj8vNlVqycSBhmDmzeJMW5z+8ULoOjJovqnPKNJSUYvCan newUnjNYVaprLFAgN4tw7VuEPDHVC+LlG/FZok942yiU1ef3BtufYFXFw3dOdXGrZMFFWf QyyIa5iVGu7qEKq3XAMJZqOkMQ7WYyA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711447607; a=rsa-sha256; cv=none; b=y2hptuNuE7+3lbupjzkPFD21F3cpay4W9kQVP5qCHIDBvExAJ3Tx+MqUAanB+KHeQB5rju JojEsajm8S+yi998MTZ0T/nV5xXoPQ2MHkufQY42e4lWoROsrF9NHtdYObsT2Ut/LBYOWM mzSFJUq7AXsXvG720Mls3dUtDgLjieM= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=SKyZ+6qj; 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 Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (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 4V3lnt0K4fz9sSF; Tue, 26 Mar 2024 11:06:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1711447602; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/l44hIRVvOPEpGQpeViqZ0xwsEycYNDv++J/k+vdgEc=; b=SKyZ+6qjmQ6o2EGEB3YUZN55bm155l+3rRdII0vYo0M/FQm42gD9m1nLnv5eZDYcM8sb1n MpMHvjjhdoS2f1QiJOdcwAmc1lDnHiRuc95L3qeYW/siY2sKBVZtMrtCD7OJrIlSeGxTQV Qp0TF6xN5V99E/bFaEng6gD2MEL98WeCv0fWmkjGHBjaMJIk31bzxIueBpp3gbllnSDZWQ uKZ9fKizPoJdLS/5/xpGCIKvtmKKZ+B/KmSOq/7H6uAKkyCieAZ7TZjDgE/mzmZ1V2zI5k 5Q7ehK9AJ1+3cS5w9yoD5/49gaGu3IZb/tFlPs0TZgMWsD/h3/mxtoUrPswqOA== Message-ID: <1a4a6ad3-6b88-47ea-a6c4-144a1485f614@pankajraghav.com> Date: Tue, 26 Mar 2024 11:06:36 +0100 MIME-Version: 1.0 Subject: Re: [PATCH v3 04/11] readahead: rework loop in page_cache_ra_unbounded() Content-Language: en-US To: Hannes Reinecke , Matthew Wilcox Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, gost.dev@samsung.com, chandan.babu@oracle.com, mcgrof@kernel.org, djwong@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, david@fromorbit.com, akpm@linux-foundation.org, Pankaj Raghav References: <20240313170253.2324812-1-kernel@pankajraghav.com> <20240313170253.2324812-5-kernel@pankajraghav.com> <7217df4e-470b-46ab-a4fc-1d4681256885@suse.de> <5e5523b1-0766-43b2-abb1-f18ea63906d6@pankajraghav.com> <3aa8bdf1-24f6-4e1f-a5c4-8dc2d11ca292@suse.de> From: Pankaj Raghav In-Reply-To: <3aa8bdf1-24f6-4e1f-a5c4-8dc2d11ca292@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7098C40009 X-Rspam-User: X-Stat-Signature: wdo6carqh878g3eguudhpz9rxpnog8tn X-Rspamd-Server: rspam03 X-HE-Tag: 1711447606-803951 X-HE-Meta: U2FsdGVkX1/qg5cBkk8AeErtqhsOqdwXvy8ZUzQ3E5VZUxmQHzNSVrNe6Fu1RLvACI9S36VTz9rOFGTzdbVlgDFJUGkTkM7AEQK9NBGEaTiqq6WM6UyvundUzmNL46d/ONBjbDUYFxeNmkZhUtW/Xf7vx87/yobTJvb4Mf1aEVAKk9sAN/aPRtCt84iNn1RO3PlWxAkiJ7nZnug4Eqm+UtAl234HzyVX07DsdkMY8LT64TpRLMIZREJfAJSmSg7uIuqP/g7X/iJU8E6/MvN5FJMPPkRNEA8/Z5hmolXg5BadeOkRYFspuPSpsNDJARqKAwvYiGWUzT1f4YnkARjpfBUkxY60FLEVDfgSmSYxG1FCGToxjo7uZ3s1iLIECE695O5HnqtKxEkbfiaTuuylo1DxOcN5jF/XicwG/XPp2yowudpv7VY2ozDrfvyL1M8Ajo0C0cqhKMPnmzuXrSs8RZEBMz697py0REV2beAQ3VLQlt9xiTC3XbSkW/w953KTiXb5LVu76KshUJo2wC8cDjPHA/VHoRD/flQ6VE/5aGZOtNTrntdyM2aLZiI2HTOsVjAvt5tG8Vt8InshjC1yOKlr3MhMkeQmYfNkEsWZBIRXWKmpYzl3jRlbXjX89+YZEb7Dt+Ovcc5vBteF9Z115V0X5syJHnMMY2ont3aDWwmKFLKzvhUdcF+p21tNcQ01IWWU0s088JflbC4JjAHltrS0+lMNUudCSEsW2+pt2t5GU7je2R/AOh6IYE0DuM8vqgmI3/eVqb5G6O2NIVutSP/FvE0bjaFBxP3154X//jHyTPm3BBVkt2Agty96n2P5WzqMCW6kOquJUJB0+v30kfIghU5ojv4aAEVcADvrBJyPlLbRDi4cBRu/qYNOE4sFSt4opYjLPSmDoshJoO8AicvVyJxCZYZMy6EGdN7AvtbLtloIuWh4PwAsRlbUq7qsRvSuV09Glu2v3MKw2o1 unO7Zp93 ciD8A1pdkBFkv7txAS6inu638FBFYrtJ6TpOAaJx878QHQZnrsWMoA7QelBYUNUqn/Tk6VkPsznyT1eAM6qs8deKZudR79X+r5+gcFvvf3ypLDBsDJ0CWQXuKZu2D9w6YHCwANqpris5RQ3wbBW5GrH0Pdhf6+nHboSy8QMop0EUp4pGGsE0YkPawDXapdgU5c3LN8rHCtvm6lkCzeuZ6Qn81fjYpWHM2fYSQWlzsxX1QWhvnhYOFHZBalDZmwlPoqYIenH1WxgOC2wnDqwS+MFRXfTPSjsSCBENUSIU6vNGgCo0ncsJLBvUV6HNQT4Ohy/sJRvrNXIwzndWc8rDdt+ZwJL81lcRKyIkuGdGJ1roIRuQ= 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 26/03/2024 11:00, Hannes Reinecke wrote: > On 3/26/24 10:44, Pankaj Raghav wrote: >> Hi Hannes, >> >> On 26/03/2024 10:39, Hannes Reinecke wrote: >>> On 3/25/24 19:41, 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? >>> >>> Hmm. Looks you are right; it should be modified, too. >>> Will be fixing it up. >>> >> You initially had also in the second hunk: >> ractl->index += folio_nr_pages(folio); >> >> and I changed it to what it is now. >> >> The reason is in my reply to willy: >> https://lore.kernel.org/linux-xfs/s4jn4t4betknd3y4ltfccqxyfktzdljiz7klgbqsrccmv3rwrd@orlwjz77oyxo/ >> >> Let me know if you agree with it. >> > Bah. That really is overly complicated. When we attempt a conversion that conversion should be > stand-alone, not rely on some other patch modifications later on. > We definitely need to work on that to make it easier to review, even > without having to read the mail thread. > I don't know understand what you mean by overly complicated. This conversion is standalone and it is wrong to use folio_nr_pages after we `put` the folio. This patch just reworks the loop and in the next patch I add min order support to readahead. This patch doesn't depend on the next patch. > Cheers, > > Hannes >