diff options
-rw-r--r-- | drivers/md/bcache/gc.c | 2 | ||||
-rw-r--r-- | drivers/md/bcache/util.c | 12 | ||||
-rw-r--r-- | drivers/md/bcache/util.h | 2 | ||||
-rw-r--r-- | drivers/md/bcache/writeback.c | 2 |
4 files changed, 9 insertions, 9 deletions
diff --git a/drivers/md/bcache/gc.c b/drivers/md/bcache/gc.c index bcc6da832d35..4879b11ad2a7 100644 --- a/drivers/md/bcache/gc.c +++ b/drivers/md/bcache/gc.c @@ -683,8 +683,8 @@ static int bch_gc_thread(void *arg) if (kthread_should_stop()) break; - try_to_freeze(); schedule(); + try_to_freeze(); } return 0; diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c index 0533fb43bf59..ff33161dff5f 100644 --- a/drivers/md/bcache/util.c +++ b/drivers/md/bcache/util.c @@ -246,15 +246,15 @@ int bch_ratelimit_wait_freezable_stoppable(struct bch_ratelimit *d, return 1; } - if (freezing(current)) { - closure_sync(cl); - try_to_freeze(); - } - if (!delay) return 0; schedule_timeout(delay); + + if (freezing(current)) { + closure_sync(cl); + try_to_freeze(); + } } } @@ -509,8 +509,8 @@ int bch_kthread_loop_ratelimit(unsigned long *last, unsigned long delay) if (kthread_should_stop()) return -1; - try_to_freeze(); schedule_timeout(max_t(long, 0, next - jiffies)); + try_to_freeze(); *last = jiffies; return 0; diff --git a/drivers/md/bcache/util.h b/drivers/md/bcache/util.h index 3a829dc7b534..708fd9b5d9ac 100644 --- a/drivers/md/bcache/util.h +++ b/drivers/md/bcache/util.h @@ -596,8 +596,8 @@ int bch_kthread_loop_ratelimit(unsigned long *, unsigned long); if (cond) \ break; \ \ - try_to_freeze(); \ schedule(); \ + try_to_freeze(); \ } \ set_current_state(TASK_RUNNING); \ _ret; \ diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c index d5d2e1982615..d2bb18bbfc39 100644 --- a/drivers/md/bcache/writeback.c +++ b/drivers/md/bcache/writeback.c @@ -419,8 +419,8 @@ static void bch_writeback(struct cached_dev *dc) if (kthread_should_stop()) return; - try_to_freeze(); schedule(); + try_to_freeze(); return; } |