From: Bart Van Assche Date: Tue, 9 Dec 2014 15:59:48 +0000 (+0100) Subject: blk-mq: Micro-optimize bt_get() X-Git-Tag: android-x86-4.4-r3~690^2~4 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=52f7eb945f2ba62b324bb9ae16d945326a961dcf;p=android-x86%2Fkernel.git blk-mq: Micro-optimize bt_get() Remove a superfluous finish_wait() call. Convert the two bt_wait_ptr() calls into a single call. Signed-off-by: Bart Van Assche Cc: Christoph Hellwig Cc: Robert Elliott Cc: Ming Lei Cc: Alexander Gordeev Signed-off-by: Jens Axboe --- diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index e47c4c75fd33..1b7229f9354a 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -248,8 +248,8 @@ static int bt_get(struct blk_mq_alloc_data *data, if (!(data->gfp & __GFP_WAIT)) return -1; - bs = bt_wait_ptr(bt, hctx); do { + bs = bt_wait_ptr(bt, hctx); prepare_to_wait(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); tag = __bt_get(hctx, bt, last_tag); @@ -285,8 +285,6 @@ static int bt_get(struct blk_mq_alloc_data *data, hctx = data->hctx; bt = &hctx->tags->bitmap_tags; } - finish_wait(&bs->wait, &wait); - bs = bt_wait_ptr(bt, hctx); } while (1); finish_wait(&bs->wait, &wait);