From: Chao Yu <chao@kernel.org>
To: jaegeuk@kernel.org
Cc: linux-f2fs-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org, Chao Yu <yuchao0@huawei.com>
Subject: [PATCH 1/3] f2fs: split wio_mutex
Date: Tue, 9 May 2017 00:33:20 +0800 [thread overview]
Message-ID: <20170508163322.8087-1-chao@kernel.org> (raw)
From: Chao Yu <yuchao0@huawei.com>
Split wio_mutex to adjust different temperature bio cache.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
fs/f2fs/f2fs.h | 2 +-
fs/f2fs/segment.c | 6 ++----
fs/f2fs/super.c | 4 ++--
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 4ab42749fd5f..500a4c21cfe8 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -882,7 +882,7 @@ struct f2fs_sb_info {
/* for bio operations */
struct f2fs_bio_info meta_io[2]; /* for meta bios */
struct f2fs_bio_info log_io[NR_CURSEG_TYPE]; /* for log bios */
- struct mutex wio_mutex[NODE + 1]; /* bio ordering for NODE/DATA */
+ struct mutex wio_mutex[NR_CURSEG_TYPE]; /* bio ordering for NODE/DATA */
int write_io_size_bits; /* Write IO size bits */
mempool_t *write_io_dummy; /* Dummy pages */
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index cdf7d61ac213..9fa6b0682d94 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -2145,8 +2145,7 @@ static void do_write_page(struct f2fs_summary *sum, struct f2fs_io_info *fio)
fio->seg_type = __get_segment_type(fio->page, fio->type);
- if (fio->type == NODE || fio->type == DATA)
- mutex_lock(&fio->sbi->wio_mutex[fio->type]);
+ mutex_lock(&fio->sbi->wio_mutex[fio->seg_type]);
reallocate:
allocate_data_block(fio->sbi, fio->page, fio->old_blkaddr,
&fio->new_blkaddr, sum, fio->seg_type);
@@ -2158,8 +2157,7 @@ static void do_write_page(struct f2fs_summary *sum, struct f2fs_io_info *fio)
goto reallocate;
}
- if (fio->type == NODE || fio->type == DATA)
- mutex_unlock(&fio->sbi->wio_mutex[fio->type]);
+ mutex_unlock(&fio->sbi->wio_mutex[fio->seg_type]);
}
void write_meta_page(struct f2fs_sb_info *sbi, struct page *page)
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index fed25ca609e4..8fb16e9e6eb4 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1584,8 +1584,8 @@ static void init_sb_info(struct f2fs_sb_info *sbi)
INIT_LIST_HEAD(&sbi->s_list);
mutex_init(&sbi->umount_mutex);
- mutex_init(&sbi->wio_mutex[NODE]);
- mutex_init(&sbi->wio_mutex[DATA]);
+ for (i = 0; i < NR_CURSEG_TYPE; i++)
+ mutex_init(&sbi->wio_mutex[i]);
spin_lock_init(&sbi->cp_lock);
}
--
2.12.2.575.gb14f27f
next reply other threads:[~2017-05-08 16:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-08 16:33 Chao Yu [this message]
2017-05-08 16:33 ` [PATCH 2/3] f2fs: move f2fs_sb_info.{log_io,wio_mutex} into struct curseg_info Chao Yu
2017-05-08 16:33 ` [PATCH 3/3] f2fs: introduce io_list for serialize data/node IOs Chao Yu
2017-05-08 16:33 ` Chao Yu
2017-05-11 18:36 ` Jaegeuk Kim
2017-05-11 18:36 ` Jaegeuk Kim
2017-05-12 3:34 ` Chao Yu
2017-05-12 3:34 ` Chao Yu
2017-05-12 17:49 ` Jaegeuk Kim
2017-05-12 17:49 ` Jaegeuk Kim
2017-05-11 18:37 ` [PATCH 1/3] f2fs: split wio_mutex Jaegeuk Kim
2017-05-11 18:37 ` Jaegeuk Kim
2017-05-12 3:20 ` Chao Yu
2017-05-12 3:20 ` Chao Yu
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=20170508163322.8087-1-chao@kernel.org \
--to=chao@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=yuchao0@huawei.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.