From nobody Tue Dec 2 01:51:43 2025 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 CD4D236D4FB for ; Fri, 21 Nov 2025 01:48:14 +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=1763689694; cv=none; b=ra3K0epn4fDqivakXLjLaCpcL2mRwwU8OucFEqE2v0lUnI8sM66+8G45ys/JLd0ApDK96I6ptvJMv+8fu6LGaVe1xxPY4K/233I6eHdqhDgXpKd3IUnLycu0kj2UBEtB9ma7zgFt+kMN+dkBE0jYX/lRTgP+kMEmzLTxayVEX2E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763689694; c=relaxed/simple; bh=L/FBZ6EX8BBEKd+oHDA9ozKPVRqFKy89jllHraqtJqY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=GweOnSAUj2nFU+F13buHB0rvd6NTkjY5e1O5K4k3QHS6DxWJOF2zkVsXqcuVO1u+xTy3zhGaftNhZ3PDem3wya0xxL5Asyn8Eo+RRgBSAlEip9+LnWbVNOpd2UG0zY6bTqB41iM7wIlXLfTodbgKbmx0AqDlYkI5gH8wYX3vqVo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AsWFE2/Z; 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="AsWFE2/Z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E3B5C4CEF1; Fri, 21 Nov 2025 01:48:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763689694; bh=L/FBZ6EX8BBEKd+oHDA9ozKPVRqFKy89jllHraqtJqY=; h=From:To:Cc:Subject:Date:From; b=AsWFE2/ZaJzeSyKw92X+LJqR8iMDxGzF7BfywN9uJZldHmP/9N8GsNpj1cvruVbkl 2aBBEyX+YBLzTUTnSfn8cwON/9TvmjTKeqxdmdpymJrCIkSiw3TEH03ZqcxxkeQGLv HVRmjj6X8+qbRGLAp+J2+7dku2GCARWkmw87ZL2O+FABcyrGHez3omBgb+vz5TOs8i oHsbrXK0FcHHESByFIvc97gY0iyooDsv+mV3XdiwL0c40nAint/RXIbjQEQayLEOjb 1V8qVNa1Aj0MUiFTXn76iS9eewI0uabRinSbRNObvQPw3Fo/YTlbMLSuXFZxAQB2sm nME3O9AFjTZ0A== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim , David Hildenbrand , "Matthew Wilcox (Oracle)" Subject: [PATCH] mm/readahead: add a desired folio order for readhead Date: Fri, 21 Nov 2025 01:48:11 +0000 Message-ID: <20251121014811.1971698-1-jaegeuk@kernel.org> X-Mailer: git-send-email 2.52.0.487.g5c8c507ade-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This patch adds a desired folio order in file_ra_state in order to get non-zero-order allocation for readahead. Cc: David Hildenbrand Cc: Matthew Wilcox (Oracle) Signed-off-by: Jaegeuk Kim --- include/linux/fs.h | 1 + mm/filemap.c | 2 +- mm/readahead.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index c895146c1444..8233b166139b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1167,6 +1167,7 @@ struct file_ra_state { unsigned int async_size; unsigned int ra_pages; unsigned short order; + unsigned short desired_order; unsigned short mmap_miss; loff_t prev_pos; }; diff --git a/mm/filemap.c b/mm/filemap.c index 13f0259d993c..6aa0e26c5d17 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -3332,7 +3332,7 @@ static struct file *do_sync_mmap_readahead(struct vm_= fault *vmf) ra->start =3D max_t(long, 0, vmf->pgoff - ra->ra_pages / 2); ra->size =3D ra->ra_pages; ra->async_size =3D ra->ra_pages / 4; - ra->order =3D 0; + ra->order =3D ra->desired_order; } =20 fpin =3D maybe_unlock_mmap_for_io(vmf, fpin); diff --git a/mm/readahead.c b/mm/readahead.c index 3a4b5d58eeb6..5194211dfdee 100644 --- a/mm/readahead.c +++ b/mm/readahead.c @@ -621,7 +621,7 @@ void page_cache_sync_ra(struct readahead_control *ractl, ra->size =3D min(contig_count + req_count, max_pages); ra->async_size =3D 1; readit: - ra->order =3D 0; + ra->order =3D ra->desired_order; ractl->_index =3D ra->start; page_cache_ra_order(ractl, ra); } --=20 2.52.0.487.g5c8c507ade-goog