提交 7cd32674 编写于 作者: P Peter Zijlstra 提交者: Mike Snitzer

dm bufio: remove dm_bufio_cond_resched()

Use cond_resched() like everybody else.

Mikulas explained why dm_bufio_cond_resched() was introduced to begin
with (hopefully cond_resched can be improved accordingly) here:
https://www.redhat.com/archives/dm-devel/2016-September/msg00112.html

Cc: Ingo Molnar <mingo@kernel.org>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Alasdair Kergon <agk@redhat.com>
Acked-by: NThomas Gleixner <tglx@linutronix.de>
Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Mike Snitzer <snitzer@redhat.com> # added last comment in header
上级 f659b100
...@@ -191,19 +191,6 @@ static void dm_bufio_unlock(struct dm_bufio_client *c) ...@@ -191,19 +191,6 @@ static void dm_bufio_unlock(struct dm_bufio_client *c)
mutex_unlock(&c->lock); mutex_unlock(&c->lock);
} }
/*
* FIXME Move to sched.h?
*/
#ifdef CONFIG_PREEMPT_VOLUNTARY
# define dm_bufio_cond_resched() \
do { \
if (unlikely(need_resched())) \
_cond_resched(); \
} while (0)
#else
# define dm_bufio_cond_resched() do { } while (0)
#endif
/*----------------------------------------------------------------*/ /*----------------------------------------------------------------*/
/* /*
...@@ -741,7 +728,7 @@ static void __flush_write_list(struct list_head *write_list) ...@@ -741,7 +728,7 @@ static void __flush_write_list(struct list_head *write_list)
list_entry(write_list->next, struct dm_buffer, write_list); list_entry(write_list->next, struct dm_buffer, write_list);
list_del(&b->write_list); list_del(&b->write_list);
submit_io(b, WRITE, b->block, write_endio); submit_io(b, WRITE, b->block, write_endio);
dm_bufio_cond_resched(); cond_resched();
} }
blk_finish_plug(&plug); blk_finish_plug(&plug);
} }
...@@ -780,7 +767,7 @@ static struct dm_buffer *__get_unclaimed_buffer(struct dm_bufio_client *c) ...@@ -780,7 +767,7 @@ static struct dm_buffer *__get_unclaimed_buffer(struct dm_bufio_client *c)
__unlink_buffer(b); __unlink_buffer(b);
return b; return b;
} }
dm_bufio_cond_resched(); cond_resched();
} }
list_for_each_entry_reverse(b, &c->lru[LIST_DIRTY], lru_list) { list_for_each_entry_reverse(b, &c->lru[LIST_DIRTY], lru_list) {
...@@ -791,7 +778,7 @@ static struct dm_buffer *__get_unclaimed_buffer(struct dm_bufio_client *c) ...@@ -791,7 +778,7 @@ static struct dm_buffer *__get_unclaimed_buffer(struct dm_bufio_client *c)
__unlink_buffer(b); __unlink_buffer(b);
return b; return b;
} }
dm_bufio_cond_resched(); cond_resched();
} }
return NULL; return NULL;
...@@ -923,7 +910,7 @@ static void __write_dirty_buffers_async(struct dm_bufio_client *c, int no_wait, ...@@ -923,7 +910,7 @@ static void __write_dirty_buffers_async(struct dm_bufio_client *c, int no_wait,
return; return;
__write_dirty_buffer(b, write_list); __write_dirty_buffer(b, write_list);
dm_bufio_cond_resched(); cond_resched();
} }
} }
...@@ -973,7 +960,7 @@ static void __check_watermark(struct dm_bufio_client *c, ...@@ -973,7 +960,7 @@ static void __check_watermark(struct dm_bufio_client *c,
return; return;
__free_buffer_wake(b); __free_buffer_wake(b);
dm_bufio_cond_resched(); cond_resched();
} }
if (c->n_buffers[LIST_DIRTY] > threshold_buffers) if (c->n_buffers[LIST_DIRTY] > threshold_buffers)
...@@ -1170,7 +1157,7 @@ void dm_bufio_prefetch(struct dm_bufio_client *c, ...@@ -1170,7 +1157,7 @@ void dm_bufio_prefetch(struct dm_bufio_client *c,
submit_io(b, READ, b->block, read_endio); submit_io(b, READ, b->block, read_endio);
dm_bufio_release(b); dm_bufio_release(b);
dm_bufio_cond_resched(); cond_resched();
if (!n_blocks) if (!n_blocks)
goto flush_plug; goto flush_plug;
...@@ -1291,7 +1278,7 @@ int dm_bufio_write_dirty_buffers(struct dm_bufio_client *c) ...@@ -1291,7 +1278,7 @@ int dm_bufio_write_dirty_buffers(struct dm_bufio_client *c)
!test_bit(B_WRITING, &b->state)) !test_bit(B_WRITING, &b->state))
__relink_lru(b, LIST_CLEAN); __relink_lru(b, LIST_CLEAN);
dm_bufio_cond_resched(); cond_resched();
/* /*
* If we dropped the lock, the list is no longer consistent, * If we dropped the lock, the list is no longer consistent,
...@@ -1574,7 +1561,7 @@ static unsigned long __scan(struct dm_bufio_client *c, unsigned long nr_to_scan, ...@@ -1574,7 +1561,7 @@ static unsigned long __scan(struct dm_bufio_client *c, unsigned long nr_to_scan,
freed++; freed++;
if (!--nr_to_scan || ((count - freed) <= retain_target)) if (!--nr_to_scan || ((count - freed) <= retain_target))
return freed; return freed;
dm_bufio_cond_resched(); cond_resched();
} }
} }
return freed; return freed;
...@@ -1808,7 +1795,7 @@ static void __evict_old_buffers(struct dm_bufio_client *c, unsigned long age_hz) ...@@ -1808,7 +1795,7 @@ static void __evict_old_buffers(struct dm_bufio_client *c, unsigned long age_hz)
if (__try_evict_buffer(b, 0)) if (__try_evict_buffer(b, 0))
count--; count--;
dm_bufio_cond_resched(); cond_resched();
} }
dm_bufio_unlock(c); dm_bufio_unlock(c);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册