mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] reiserfs: don't use congestion_wait()
@ 2021-11-17  4:34 NeilBrown
  2021-11-18 10:45 ` Jan Kara
  0 siblings, 1 reply; 5+ messages in thread
From: NeilBrown @ 2021-11-17  4:34 UTC (permalink / raw)
  To: Jan Kara, Jens Axboe; +Cc: reiserfs-devel, linux-kernel


Block devices do not, in general, report congestion any more, so this
congestion_wait() is effectively just a sleep.

It isn't entirely clear what is being waited for, but as we only wait
when j_async_throttle is elevated, it seems reasonable to stop waiting
when j_async_throttle becomes zero - or after the same timeout.

So change to use wait_event_event_timeout() for waiting, and
wake_up_var() to signal an end to waiting.

Signed-off-by: NeilBrown <neilb@suse.de>
---

I have no idea who might take this.... Jens and Jan have both landed
reiserfs patches recently...

Thanks,
NeilBrown

 fs/reiserfs/journal.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
index 0834b101c316..a3e21160b634 100644
--- a/fs/reiserfs/journal.c
+++ b/fs/reiserfs/journal.c
@@ -951,7 +951,9 @@ static int reiserfs_async_progress_wait(struct super_block *s)
 		int depth;
 
 		depth = reiserfs_write_unlock_nested(s);
-		congestion_wait(BLK_RW_ASYNC, HZ / 10);
+		wait_var_event_timeout(&j->j_async_throttle,
+				       atomic_read(&j->j_async_throttle) == 0,
+				       HZ / 10);
 		reiserfs_write_lock_nested(s, depth);
 	}
 
@@ -1058,7 +1060,8 @@ static int flush_commit_list(struct super_block *s,
 			put_bh(tbh) ;
 		}
 	}
-	atomic_dec(&journal->j_async_throttle);
+	if (atomic_dec_and_test(&journal->j_async_throttle))
+		wake_up_var(&journal->j_async_throttle);
 
 	for (i = 0; i < (jl->j_len + 1); i++) {
 		bn = SB_ONDISK_JOURNAL_1st_BLOCK(s) +
-- 
2.33.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-12-13 21:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-17  4:34 [PATCH] reiserfs: don't use congestion_wait() NeilBrown
2021-11-18 10:45 ` Jan Kara
2021-12-10  4:27   ` NeilBrown
2021-12-13 13:59     ` Jan Kara
2021-12-13 21:56       ` NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®