Messages in this thread | | | Date | Fri, 15 Aug 2014 09:31:11 -0700 | From | Christoph Hellwig <> | Subject | Re: [PATCH v1 5/9] block: loop: convert to blk-mq |
| |
> + > +static int loop_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, > + unsigned int index) > +{ > + struct loop_device *lo = data; > + > + hctx->driver_data = lo;
I don't think there is much of a point to store this in the hctx instead of relying on the queue.
> +static void loop_softirq_done_fn(struct request *rq) > +{ > + blk_mq_end_io(rq, rq->errors); > +}
no need for a noop softirq done function.
> +static void loop_queue_work(struct work_struct *work)
Offloading work straight to a workqueue dosn't make much sense in the blk-mq model as we'll usually be called from one. If you need to avoid the cases where we are called directly a flag for the blk-mq code to always schedule a workqueue sounds like a much better plan.
| |