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 9E618D1D88B for ; Tue, 15 Oct 2024 17:33:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1C0D86B0082; Tue, 15 Oct 2024 13:33:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 171886B0083; Tue, 15 Oct 2024 13:33:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 05FE46B0085; Tue, 15 Oct 2024 13:33:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DDFC66B0082 for ; Tue, 15 Oct 2024 13:33:17 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 565371A0116 for ; Tue, 15 Oct 2024 17:33:01 +0000 (UTC) X-FDA: 82676532750.14.4440754 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id 3911F1C0016 for ; Tue, 15 Oct 2024 17:33:00 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="KWKZdw/k"; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729013548; a=rsa-sha256; cv=none; b=27kO2SpJDM/YCwlHWcCdbtCaAOATy6xiLDKIoKYj1Vt2VHJ/ZjBv6EGLsTExAU03Mne+oF E0kOlEs6L1NDJLOtnKSZgY/61tXN0NX237/ciUwVqN89WfZJ0kNUaPnH4UI1VbWUwTG+yz QFLbo+SsmDqsRSU1Q6Sxjsc9x5w6awY= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="KWKZdw/k"; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729013548; 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=jN1tSUu4ZmhBjWgxZuk/s0l3vJifj6qSHy2dO3NlJ6Q=; b=yWkYEp8H0EjiWHRD309oUNhIT+Tl+ZXfk2DhVLFI9hIBE/6OK7mS8Jy9cBpvT5HfoxfpCz R78j7Ib+e6hM5w9GvXQUXPHi000fO2emZzoasXxWoWSYplN1ujNcmfFLCtKAeFvChguXTc zVrWTEdUB82qBvJ1pi+7B0kM6TIMXCA= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=jN1tSUu4ZmhBjWgxZuk/s0l3vJifj6qSHy2dO3NlJ6Q=; b=KWKZdw/kE7v0vgb1xgTQbIMDJF qgjFSMadwZfaIHp/rMQa4nAkHrh1OkMX4qIQ3MLEXXFtal9WE3gRkOk3/rFJxjAJdDU7ai8uynX/V LPq8QDtcZzVro2gjjmJf2rHrb8XF9LT0YdZQ36YhgleP/t3JQVhpi8NnA8IRk34aZ8rB3H9U8yrit anZm2Wkr6f6lBRzfEmNz3K1X7Wy1tWFL17cIh9mV+be/f1urkqFSE38QASeoXaFrbZH7fK/FwZIgk 9UIgZ8pErsU++15IPvGz9ki7KN/JJ2EtH7FWf5pFba6rlgZfkMjovIwXVv1GwL/vR5DVJxgHXS9eI ZOI5BWlg==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1t0lPz-00000005O4D-3lDr; Tue, 15 Oct 2024 17:33:11 +0000 Date: Tue, 15 Oct 2024 18:33:11 +0100 From: Matthew Wilcox To: "Pankaj Raghav (Samsung)" Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, mcgrof@kernel.org, gost.dev@samsung.com, Pankaj Raghav Subject: Re: [PATCH v14] mm: don't set readahead flag on a folio when lookahead_size > nr_to_read Message-ID: References: <20241015164106.465253-1-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241015164106.465253-1-kernel@pankajraghav.com> X-Rspam-User: X-Rspamd-Queue-Id: 3911F1C0016 X-Rspamd-Server: rspam01 X-Stat-Signature: wmr51rto1zejczdg77b4nc6uweeufy5t X-HE-Tag: 1729013580-573434 X-HE-Meta: U2FsdGVkX18F0afi1nz22Lx0B+DcmF/f7RVH4DcFoGWuzYGkilnh9OZNIcvpxEOpx/vbGYhVvKLjFbrrkNFB29/W8W6R9XY7iCTj/p7aKYvpsvokKSMPtwXdk/LJ7TjBTE82xDrPMOkDFTHEwmj/dS37LbZHykf8ETJ6W0XlgTmaB3a9oH294PwHPWYdsFRCP6eT4viwxedab/RyE767MEK760FoczIogXcuOyJumJZ7HAL6D4irZ0TJfk78y2kdzpXwxGKqVo9VdYxksSqRX+6eN/do4YXfkYMOL7g87h4eu0LoYXM3r20BiRVYU6LgKNuUqCpFsFPQ9fHosYLHYHE6ZUvzgZhDyQKZnFHxnTCKs1gL4jPxA3Hq1ZvXOwp+vMZfMwWLkWAoDd21pc3m3j9sEDxMKVMFuUqAOsW/hy7SXCq9cp5atB4nQ5suY7vfQBKQZqeZOnWK6X/VErbG92AXadja5wptFFa0Wr8sgBTdB9UGYSL3ISKwajsJlVU21uaPLwkrm/92Obd6JiUnvak73t4Pf59XtvlEpjRscSs0FABzsbgJfnXwopUSFVmtY8TZ62zet8ppgKRbdIkpiazNJcgfQsATU9N3KaxVR9TbTNoKV3hMOd/Eytr3IwxVVMLYx24vhZsg92v/pWR6mlFL46YzHIJa0k9XNZCCwgWbkBi8Rx/2B7BTReYfwjwkVJJjYXf71HNd8r9C7MapbKOfvzgafQW/l+KPDbl5blBAIpNZpLiZySIT0aZe+z87tXlgkTx6vpMWx27Sxc9HJi1KCiMi3NQBgw2uEDLuVdrRnVOqlTWXUjaGlbZxQqNvn2uiThyBkclg9fC6ffcmuDU3plKWu52ijssHTMbXZXK2cMbLpIKBUBPBPvrugMQVbyulpsNccx7s0VbXUDeK9qE5XAsRdDKUbyfi4fHtVJmTH9W0w1zlyVQ1rfWM/wZizDCxWhWVY3+44Jt8I67 upi98DHA EindnryEI01ZuvRc1tEB7rUKlHbXObuNsktKbSBzH7HKcwILO2BffxA0bj6bCSm69Q9Nzj2yt9MGZ+YPoZ/QFTQnzyowWlQvOETBrrHKM+0yCbzsfTy4KN5XvsXM8oPimrNJLbMBY9rEMZkPXNofzesBPUgrN2byD5pHTN9hFH/A44LjGZcUvVYa5Ma7iPJwPteA7P6pO98S5xCF+15XEXh6xbYFmMvh1AnEEc7xQDpnRSfXCaynYrgrxlenVaHjiS6rPnu+sfDE1x/PyuMkUjamd4A== 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, Oct 15, 2024 at 06:41:06PM +0200, Pankaj Raghav (Samsung) wrote: v14? Where are v1..13 of this patch? It's the first time I've seen it. > The readahead flag is set on a folio based on the lookahead_size and > nr_to_read. For example, when the readahead happens from index to index > + nr_to_read, then the readahead `mark` offset from index is set at > nr_to_read - lookahead_size. > > There are some scenarios where the lookahead_size > nr_to_read. If this > happens, readahead flag is not set on any folio on the current > readahead window. Please describe those scenarios, as that's the important bit. > There are two problems at the moment in the way `mark` is calculated > when lookahead_size > nr_to_read: > > - unsigned long `mark` will be assigned a negative value which can lead > to unexpected results in extreme cases due to wrap around. Can such an extreme case happen? > - The current calculation for `mark` with mapping_min_order > 0 gives > incorrect results when lookahead_size > nr_to_read due to rounding > up operation. > > Explicitly initialize `mark` to be ULONG_MAX and only calculate it > when lookahead_size is within the readahead window. You haven't really spelled out the consequences of this properly. Perhaps a worked example would help. I think the worst case scenario is that we set the flag on the wrong folio, causing readahead to occur when it should not. But maybe I'm wrong?