Re: [PATCH] f2fs: fix the way to wake up issue_flush thread

2018-05-03 Thread Yunlong Song

Please avoid this patch, I make a mistake.

On 2018/5/3 15:45, Yunlong Song wrote:

Commit 6f890df0 ("f2fs: fix out-of-order execution in f2fs_issue_flush")
uses waitqueue_active to wake up issue_flush thread, but there is no
wait entry to wake in this queue, so change it back to use the original
fcc->dispatch_list to wake up issue_flush thread.

Signed-off-by: Yunlong Song 
---
  fs/f2fs/segment.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 503a98a..5aa5ee4e 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -612,7 +612,7 @@ int f2fs_issue_flush(struct f2fs_sb_info *sbi, nid_t ino)
/* update issue_list before we wake up issue_flush thread */
smp_mb();
  
-	if (waitqueue_active(>flush_wait_queue))

+   if (!fcc->dispatch_list)
wake_up(>flush_wait_queue);
  
  	if (fcc->f2fs_issue_flush) {


--
Thanks,
Yunlong Song




Re: [PATCH] f2fs: fix the way to wake up issue_flush thread

2018-05-03 Thread Yunlong Song

Please avoid this patch, I make a mistake.

On 2018/5/3 15:45, Yunlong Song wrote:

Commit 6f890df0 ("f2fs: fix out-of-order execution in f2fs_issue_flush")
uses waitqueue_active to wake up issue_flush thread, but there is no
wait entry to wake in this queue, so change it back to use the original
fcc->dispatch_list to wake up issue_flush thread.

Signed-off-by: Yunlong Song 
---
  fs/f2fs/segment.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 503a98a..5aa5ee4e 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -612,7 +612,7 @@ int f2fs_issue_flush(struct f2fs_sb_info *sbi, nid_t ino)
/* update issue_list before we wake up issue_flush thread */
smp_mb();
  
-	if (waitqueue_active(>flush_wait_queue))

+   if (!fcc->dispatch_list)
wake_up(>flush_wait_queue);
  
  	if (fcc->f2fs_issue_flush) {


--
Thanks,
Yunlong Song




[PATCH] f2fs: fix the way to wake up issue_flush thread

2018-05-03 Thread Yunlong Song
Commit 6f890df0 ("f2fs: fix out-of-order execution in f2fs_issue_flush")
uses waitqueue_active to wake up issue_flush thread, but there is no
wait entry to wake in this queue, so change it back to use the original
fcc->dispatch_list to wake up issue_flush thread.

Signed-off-by: Yunlong Song 
---
 fs/f2fs/segment.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 503a98a..5aa5ee4e 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -612,7 +612,7 @@ int f2fs_issue_flush(struct f2fs_sb_info *sbi, nid_t ino)
/* update issue_list before we wake up issue_flush thread */
smp_mb();
 
-   if (waitqueue_active(>flush_wait_queue))
+   if (!fcc->dispatch_list)
wake_up(>flush_wait_queue);
 
if (fcc->f2fs_issue_flush) {
-- 
1.8.5.2



[PATCH] f2fs: fix the way to wake up issue_flush thread

2018-05-03 Thread Yunlong Song
Commit 6f890df0 ("f2fs: fix out-of-order execution in f2fs_issue_flush")
uses waitqueue_active to wake up issue_flush thread, but there is no
wait entry to wake in this queue, so change it back to use the original
fcc->dispatch_list to wake up issue_flush thread.

Signed-off-by: Yunlong Song 
---
 fs/f2fs/segment.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 503a98a..5aa5ee4e 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -612,7 +612,7 @@ int f2fs_issue_flush(struct f2fs_sb_info *sbi, nid_t ino)
/* update issue_list before we wake up issue_flush thread */
smp_mb();
 
-   if (waitqueue_active(>flush_wait_queue))
+   if (!fcc->dispatch_list)
wake_up(>flush_wait_queue);
 
if (fcc->f2fs_issue_flush) {
-- 
1.8.5.2