From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2ACE821257B for ; Mon, 1 Dec 2025 20:40:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764621611; cv=none; b=LQOQfefWOKFD6dD3JcL1THSZ2w1SooQBKZxYKPMelVlHl30ro8WbQNm6YIvrcq8aRA7tOEpmvTHUsNPWFg/05Aw0XFXlw+r9u2aQClggiQVCGew4MRVn4+dWZxPa3vbUBCq3+/nIMuQCdnMN+mzjLF5UIkae23tZDfPyPYn1StM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764621611; c=relaxed/simple; bh=Kddjz4kbthsv6mSJiFXwMHZqAU+w31YB1r6G3D/SACA=; h=Message-ID:Date:MIME-Version:Cc:Subject:To:References:From: In-Reply-To:Content-Type; b=Ec6y8nbFkowCRs4bkXjjnHrX4bscGaZFuIxfu0tvH2AklgbwOxjUWTOyTmCYwsfsKzHy8toWnkqch4EC+/Hva/ONXBbuZYhOCb2R63aLDFAQMKGsXv0iey1kyKBo+uLznm57CSzg61M03+B+0nQQ6K/aI3Vwk+kXhwtVp/Axo3E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qjh4DeAG; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="qjh4DeAG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2CDC3C4CEF1; Mon, 1 Dec 2025 20:40:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1764621610; bh=Kddjz4kbthsv6mSJiFXwMHZqAU+w31YB1r6G3D/SACA=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=qjh4DeAGEERO+4NH+RpPAwZ+rCsPvazPOZFPiosg0wpdQXPZy43ue1AurxGWByHWE tvN9jEPGJj89VBes+iOcdRdpUSrKF8f/ikT/BRmwm8+lAodVe6rY7svYCauDkwSr9i KsJuZwW6eviLEmJUtxcHxTpcBIE7fqUCxI9JgGioyJT16Fu3VtBQZX1904lMGfA1uX gf5T1ssA4fHd32Hk33JYPGltUS7QtqvVsvmN/jrEC5U5NJPllZh4YrVuUlHuZWRHqY cB7EEiDeYsT8h4pqMPpny64QUqmLy44qKqQmwYn+jfU8zy41Poglu4ua/BXa2Lj6e+ +TNLVvad6MoCQ== Message-ID: <3420618e-a108-4d29-b941-e94d3e9bb55e@kernel.org> Date: Mon, 1 Dec 2025 12:40:08 -0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: chao@kernel.org Subject: Re: [f2fs-dev] [PATCH 1/4] mm/readahead: fix the broken readahead for POSIX_FADV_WILLNEED To: Jaegeuk Kim , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net References: <20251201191940.883657-1-jaegeuk@kernel.org> <20251201191940.883657-2-jaegeuk@kernel.org> Content-Language: en-US From: Chao Yu In-Reply-To: <20251201191940.883657-2-jaegeuk@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025/12/2 03:16, Jaegeuk Kim via Linux-f2fs-devel wrote: > This patch fixes the broken readahead flow for POSIX_FADV_WILLNEED, where > the problem is, in force_page_cache_ra(nr_to_read), nr_to_read is cut by > the below code. > > max_pages = max_t(unsigned long, bdi->io_pages, ra->ra_pages); > nr_to_read = min_t(unsigned long, nr_to_read, max_pages); > > IOWs, we are not able to read ahead larger than the above max_pages which > is most likely the range of 2MB and 16MB. Note, it doesn't make sense > to set ra->ra_pages to the entire file size. Instead, let's fix this logic. > > Before: > f2fs_fadvise: dev = (252,16), ino = 14, i_size = 4294967296 offset:0, len:4294967296, advise:3 > page_cache_ra_unbounded: dev=252:16 ino=e index=0 nr_to_read=512 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=512 nr_to_read=512 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=1024 nr_to_read=512 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=1536 nr_to_read=512 lookahead_size=0 > > After: > f2fs_fadvise: dev = (252,16), ino = 14, i_size = 4294967296 offset:0, len:4294967296, advise:3 > page_cache_ra_unbounded: dev=252:16 ino=e index=0 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=2048 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=4096 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=6144 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=8192 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=10240 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=12288 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=14336 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=16384 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=18432 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=20480 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=22528 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=24576 nr_to_read=2048 lookahead_size=0 > ... > page_cache_ra_unbounded: dev=252:16 ino=e index=1042432 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=1044480 nr_to_read=2048 lookahead_size=0 > page_cache_ra_unbounded: dev=252:16 ino=e index=1046528 nr_to_read=2048 lookahead_size=0 > > Signed-off-by: Jaegeuk Kim Reviewed-by: Chao Yu Thanks,