Messages in this thread | | | Subject | Re: [RFC NO MERGE] f2fs: extent cache: support unaligned extent | From | Chao Yu <> | Date | Wed, 14 Jul 2021 10:27:21 +0800 |
| |
On 2021/7/7 9:58, Chao Yu wrote: > Compressed inode may suffer read performance issue due to it can not > use extent cache, so I propose to add this unaligned extent support > to improve it. > > Currently, it only works in readonly format f2fs image. > > Unaligned extent: in one compressed cluster, physical block number > will be less than logical block number, so we add an extra physical > block length in extent info in order to indicate such extent status. > > The idea is if one whole cluster blocks are contiguous physically, > once its mapping info was readed at first time, we will cache an > unaligned (or aligned) extent info entry in extent cache, it expects > that the mapping info will be hitted when rereading cluster. > > Merge policy: > - Aligned extents can be merged. > - Aligned extent and unaligned extent can not be merged. > > Signed-off-by: Chao Yu <chao@kernel.org> > --- > > I just post this for comments, it passes compiling, w/o any test. > > fs/f2fs/compress.c | 25 ++++++++++++ > fs/f2fs/data.c | 38 +++++++++++++----- > fs/f2fs/extent_cache.c | 90 +++++++++++++++++++++++++++++++++++++----- > fs/f2fs/f2fs.h | 33 +++++++++++++--- > fs/f2fs/node.c | 20 ++++++++++ > 5 files changed, 181 insertions(+), 25 deletions(-)
Jaegeuk, any thoughts about this idea?
Thanks,
| |