All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] erofs: enable large folio in device-based mode
@ 2022-11-10  7:40 Jingbo Xu
  2022-11-10  7:59 ` JeffleXu
  0 siblings, 1 reply; 6+ messages in thread
From: Jingbo Xu @ 2022-11-10  7:40 UTC (permalink / raw)
  To: xiang, chao, linux-erofs; +Cc: huyue2, linux-kernel

Enable large folio in device-based mode. Then the radahead routine will
pass down large folio containing multiple pages.

Enable this feature for non-compressed format for now, until the
compression part supports large folio later.

Signed-off-by: Jingbo Xu <jefflexu@linux.alibaba.com>
---
I have tested it under workload of Linux compiling. I know it's not a
perfect workload testing this feature, because large folio is less
likely hit in this case since source files are generally small. But I
indeed observed large folios (e.g. 16 pages) by peeking
readahead_count(rac) in erofs_readahead().
---
 fs/erofs/inode.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index ad2a82f2eb4c..e457b8a59ee7 100644
--- a/fs/erofs/inode.c
+++ b/fs/erofs/inode.c
@@ -295,6 +295,8 @@ static int erofs_fill_inode(struct inode *inode)
 		goto out_unlock;
 	}
 	inode->i_mapping->a_ops = &erofs_raw_access_aops;
+	if (!erofs_is_fscache_mode(inode->i_sb))
+		mapping_set_large_folios(inode->i_mapping);
 #ifdef CONFIG_EROFS_FS_ONDEMAND
 	if (erofs_is_fscache_mode(inode->i_sb))
 		inode->i_mapping->a_ops = &erofs_fscache_access_aops;
-- 
2.19.1.6.gb485710b


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-11-27 13:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-10  7:40 [PATCH] erofs: enable large folio in device-based mode Jingbo Xu
2022-11-10  7:59 ` JeffleXu
2022-11-11  6:36   ` Gao Xiang
2022-11-11  6:36     ` Gao Xiang
2022-11-27 13:35     ` Gao Xiang
2022-11-27 13:35       ` Gao Xiang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.