diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2011-10-19 13:50:57 +0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-11-08 19:58:34 +0400 |
commit | 8c0785a5c9a0f2472aff68dc32247be01728c416 (patch) | |
tree | adb036acb283550aab1a1860bff454a86eb446d5 /drivers/block/drbd/drbd_main.c | |
parent | b379c41ed78e83c4443fca4dbfbc358c19e4f24c (diff) | |
download | linux-8c0785a5c9a0f2472aff68dc32247be01728c416.tar.xz |
drbd: allow to dequeue batches of work at a time
cherry-picked and adapted from drbd 9 devel branch
In 8.4, we still use drbd_queue_work_front(),
so in normal operation, we can not dequeue batches,
but only single items.
Still, followup commits will wake the worker
without explicitly queueing a work item,
so up() is replaced by a simple wake_up().
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_main.c')
-rw-r--r-- | drivers/block/drbd/drbd_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index bfe6975ef94c..f379d33b10a4 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c @@ -2535,9 +2535,9 @@ out: static void drbd_init_workqueue(struct drbd_work_queue* wq) { - sema_init(&wq->s, 0); spin_lock_init(&wq->q_lock); INIT_LIST_HEAD(&wq->q); + init_waitqueue_head(&wq->q_wait); } struct drbd_tconn *conn_get_by_name(const char *name) |