blk-mq.c (2c3ad667902ef6f4b60ef0a3c6f7d8c2b007769a) blk-mq.c (4941115bef2bc891aa00a2f0edeaf06dc982325a)
1/*
2 * Block multiqueue core code
3 *
4 * Copyright (C) 2013-2014 Jens Axboe
5 * Copyright (C) 2013-2014 Christoph Hellwig
6 */
7#include <linux/kernel.h>
8#include <linux/module.h>

--- 321 unchanged lines hidden (view full) ---

330 if (rq->rq_flags & RQF_MQ_INFLIGHT)
331 atomic_dec(&hctx->nr_active);
332
333 wbt_done(q->rq_wb, &rq->issue_stat);
334 rq->rq_flags = 0;
335
336 clear_bit(REQ_ATOM_STARTED, &rq->atomic_flags);
337 clear_bit(REQ_ATOM_POLL_SLEPT, &rq->atomic_flags);
1/*
2 * Block multiqueue core code
3 *
4 * Copyright (C) 2013-2014 Jens Axboe
5 * Copyright (C) 2013-2014 Christoph Hellwig
6 */
7#include <linux/kernel.h>
8#include <linux/module.h>

--- 321 unchanged lines hidden (view full) ---

330 if (rq->rq_flags & RQF_MQ_INFLIGHT)
331 atomic_dec(&hctx->nr_active);
332
333 wbt_done(q->rq_wb, &rq->issue_stat);
334 rq->rq_flags = 0;
335
336 clear_bit(REQ_ATOM_STARTED, &rq->atomic_flags);
337 clear_bit(REQ_ATOM_POLL_SLEPT, &rq->atomic_flags);
338 blk_mq_put_tag(hctx, ctx, tag);
338 blk_mq_put_tag(hctx, hctx->tags, ctx, tag);
339 blk_queue_exit(q);
340}
341
342static void blk_mq_free_hctx_request(struct blk_mq_hw_ctx *hctx,
343 struct request *rq)
344{
345 struct blk_mq_ctx *ctx = rq->mq_ctx;
346

--- 2335 unchanged lines hidden ---
339 blk_queue_exit(q);
340}
341
342static void blk_mq_free_hctx_request(struct blk_mq_hw_ctx *hctx,
343 struct request *rq)
344{
345 struct blk_mq_ctx *ctx = rq->mq_ctx;
346

--- 2335 unchanged lines hidden ---