Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1609703 > unrolled thread
| Started by | Chao Yu <yuchao0@huawei.com> |
|---|---|
| First post | 2017-03-27 12:20 +0200 |
| Last post | 2017-03-27 12:20 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH 1/3] f2fs: clean up destroy_discard_cmd_control Chao Yu <yuchao0@huawei.com> - 2017-03-27 12:20 +0200
[PATCH 2/3] f2fs: shrink blk plug region Chao Yu <yuchao0@huawei.com> - 2017-03-27 12:20 +0200
| From | Chao Yu <yuchao0@huawei.com> |
|---|---|
| Date | 2017-03-27 12:20 +0200 |
| Subject | [PATCH 1/3] f2fs: clean up destroy_discard_cmd_control |
| Message-ID | <tpzUJ-6u4-3@gated-at.bofh.it> |
Remove unneeded parameter and simply change flow in
destroy_discard_cmd_control.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
fs/f2fs/segment.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index ff53423e35fb..c1a03b0857f9 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1181,20 +1181,22 @@ static int create_discard_cmd_control(struct f2fs_sb_info *sbi)
return err;
}
-static void destroy_discard_cmd_control(struct f2fs_sb_info *sbi, bool free)
+static void destroy_discard_cmd_control(struct f2fs_sb_info *sbi)
{
struct discard_cmd_control *dcc = SM_I(sbi)->dcc_info;
- if (dcc && dcc->f2fs_issue_discard) {
+ if (!dcc)
+ return;
+
+ if (dcc->f2fs_issue_discard) {
struct task_struct *discard_thread = dcc->f2fs_issue_discard;
dcc->f2fs_issue_discard = NULL;
kthread_stop(discard_thread);
}
- if (free) {
- kfree(dcc);
- SM_I(sbi)->dcc_info = NULL;
- }
+
+ kfree(dcc);
+ SM_I(sbi)->dcc_info = NULL;
}
static bool __mark_sit_entry_dirty(struct f2fs_sb_info *sbi, unsigned int segno)
@@ -3086,7 +3088,7 @@ void destroy_segment_manager(struct f2fs_sb_info *sbi)
if (!sm_info)
return;
destroy_flush_cmd_control(sbi, true);
- destroy_discard_cmd_control(sbi, true);
+ destroy_discard_cmd_control(sbi);
destroy_dirty_segmap(sbi);
destroy_curseg(sbi);
destroy_free_segmap(sbi);
--
2.8.2.295.g3f1c1d0
[toc] | [next] | [standalone]
| From | Chao Yu <yuchao0@huawei.com> |
|---|---|
| Date | 2017-03-27 12:20 +0200 |
| Subject | [PATCH 2/3] f2fs: shrink blk plug region |
| Message-ID | <tpzUK-6u4-27@gated-at.bofh.it> |
| In reply to | #1609703 |
Don't use blk plug covering area where there won't be any IOs being issued.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
fs/f2fs/segment.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index c1a03b0857f9..57a81f9c8c14 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -848,9 +848,8 @@ static int issue_discard_thread(void *data)
if (kthread_should_stop())
return 0;
- blk_start_plug(&plug);
-
mutex_lock(&dcc->cmd_lock);
+ blk_start_plug(&plug);
list_for_each_entry_safe(dc, tmp, pend_list, list) {
f2fs_bug_on(sbi, dc->state != D_PREP);
@@ -860,6 +859,7 @@ static int issue_discard_thread(void *data)
if (iter++ > DISCARD_ISSUE_RATE)
break;
}
+ blk_finish_plug(&plug);
list_for_each_entry_safe(dc, tmp, wait_list, list) {
if (dc->state == D_DONE)
@@ -867,8 +867,6 @@ static int issue_discard_thread(void *data)
}
mutex_unlock(&dcc->cmd_lock);
- blk_finish_plug(&plug);
-
iter = 0;
congestion_wait(BLK_RW_SYNC, HZ/50);
--
2.8.2.295.g3f1c1d0
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web