diff options
author | Kent Overstreet <koverstreet@google.com> | 2013-04-24 22:01:12 -0400 |
---|---|---|
committer | Kent Overstreet <koverstreet@google.com> | 2013-06-26 20:09:13 -0400 |
commit | 119ba0f82839cd80eaef3e6991988f1403965d5b (patch) | |
tree | 35422c7c210537530083632ecb2d1119298d307a /drivers/md/bcache/btree.c | |
parent | a9dd53adbb84c12f769a862ba2c80404873c2c99 (diff) |
bcache: Convert allocator thread to kthread
Using a workqueue when we just want a single thread is a bit silly.
Signed-off-by: Kent Overstreet <koverstreet@google.com>
Diffstat (limited to 'drivers/md/bcache/btree.c')
-rw-r--r-- | drivers/md/bcache/btree.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c index 7a5658f04e62..45b88fbffbe0 100644 --- a/drivers/md/bcache/btree.c +++ b/drivers/md/bcache/btree.c | |||
@@ -273,7 +273,7 @@ static void btree_complete_write(struct btree *b, struct btree_write *w) | |||
273 | { | 273 | { |
274 | if (w->prio_blocked && | 274 | if (w->prio_blocked && |
275 | !atomic_sub_return(w->prio_blocked, &b->c->prio_blocked)) | 275 | !atomic_sub_return(w->prio_blocked, &b->c->prio_blocked)) |
276 | wake_up(&b->c->alloc_wait); | 276 | wake_up_allocators(b->c); |
277 | 277 | ||
278 | if (w->journal) { | 278 | if (w->journal) { |
279 | atomic_dec_bug(w->journal); | 279 | atomic_dec_bug(w->journal); |
@@ -984,7 +984,7 @@ static void btree_node_free(struct btree *b, struct btree_op *op) | |||
984 | 984 | ||
985 | if (b->prio_blocked && | 985 | if (b->prio_blocked && |
986 | !atomic_sub_return(b->prio_blocked, &b->c->prio_blocked)) | 986 | !atomic_sub_return(b->prio_blocked, &b->c->prio_blocked)) |
987 | wake_up(&b->c->alloc_wait); | 987 | wake_up_allocators(b->c); |
988 | 988 | ||
989 | b->prio_blocked = 0; | 989 | b->prio_blocked = 0; |
990 | 990 | ||
@@ -1547,7 +1547,7 @@ static void bch_btree_gc(struct closure *cl) | |||
1547 | blktrace_msg_all(c, "Finished gc"); | 1547 | blktrace_msg_all(c, "Finished gc"); |
1548 | 1548 | ||
1549 | trace_bcache_gc_end(c->sb.set_uuid); | 1549 | trace_bcache_gc_end(c->sb.set_uuid); |
1550 | wake_up(&c->alloc_wait); | 1550 | wake_up_allocators(c); |
1551 | 1551 | ||
1552 | continue_at(cl, bch_moving_gc, bch_gc_wq); | 1552 | continue_at(cl, bch_moving_gc, bch_gc_wq); |
1553 | } | 1553 | } |