From: Wu Bo via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Jaegeuk Kim <jaegeuk@kernel.org>, Chao Yu <chao@kernel.org>
Cc: Wu Bo <wubo.oduw@gmail.com>, Wu Bo <bo.wu@vivo.com>,
linux-f2fs-devel@lists.sourceforge.net
Subject: [f2fs-dev] [PATCH v2 0/3] f2fs-tools: cache free segments count to improve perfmance
Date: Thu, 28 Sep 2023 03:20:48 -0600 [thread overview]
Message-ID: <cover.1695890686.git.bo.wu@vivo.com> (raw)
The performance flame graph of resize shows that 'get_free_segments()' consum
most user space time:
https://linkthinking.cn/images/resize_flame.jpg
Every calling 'get_free_segments()', it will traverses all segments to calculate
the free segments count. And this path is called a lot in resize & sload &
defrag.
If the free segments count is cached, these tools performance will be
improved.
Changed in v2:
- Fixed some logic issues reviewed by Chao Yu
Wu Bo (3):
f2fs-tools: use 'IS_CUR_SEGNO()' to check if it is current segment
f2fs-tools: skip not matched segment when finding free block
f2fs-tools: cache free segments count to improve perfmance
fsck/f2fs.h | 1 +
fsck/mount.c | 25 ++++++++++++-------------
fsck/segment.c | 2 ++
3 files changed, 15 insertions(+), 13 deletions(-)
--
2.25.1
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next reply other threads:[~2023-09-28 9:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-28 9:20 Wu Bo via Linux-f2fs-devel [this message]
2023-09-28 9:20 ` [f2fs-dev] [PATCH v2 1/3] f2fs-tools: use 'IS_CUR_SEGNO()' to check if it is current segment Wu Bo via Linux-f2fs-devel
2023-10-07 1:39 ` Chao Yu
2023-09-28 9:20 ` [f2fs-dev] [PATCH v2 2/3] f2fs-tools: skip not matched segment when finding free block Wu Bo via Linux-f2fs-devel
2023-09-28 9:20 ` [f2fs-dev] [PATCH v2 3/3] f2fs-tools: cache free segments count to improve perfmance Wu Bo via Linux-f2fs-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1695890686.git.bo.wu@vivo.com \
--to=linux-f2fs-devel@lists.sourceforge.net \
--cc=bo.wu@vivo.com \
--cc=chao@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=wubo.oduw@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.