Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-15 Thread Jens Axboe
On 12/15/2016 12:29 PM, Omar Sandoval wrote: > Hey, Jens, a couple of minor nits below. > > One bigger note: adding the blk_mq_sched_*() helpers and keeping the > blk_mq_*() helpers that they replaced seems risky. For example, > blk_mq_free_request() is superseded by blk_mq_sched_put_request(), bu

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-15 Thread Jens Axboe
On Thu, Dec 15 2016, Omar Sandoval wrote: > Hey, Jens, a couple of minor nits below. > > One bigger note: adding the blk_mq_sched_*() helpers and keeping the > blk_mq_*() helpers that they replaced seems risky. For example, > blk_mq_free_request() is superseded by blk_mq_sched_put_request(), but >

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-15 Thread Omar Sandoval
Hey, Jens, a couple of minor nits below. One bigger note: adding the blk_mq_sched_*() helpers and keeping the blk_mq_*() helpers that they replaced seems risky. For example, blk_mq_free_request() is superseded by blk_mq_sched_put_request(), but we kept blk_mq_free_request(). There are definitely s

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-14 Thread Jens Axboe
On 12/14/2016 03:31 AM, Bart Van Assche wrote: > On 12/13/2016 04:14 PM, Jens Axboe wrote: >> On 12/13/2016 06:56 AM, Bart Van Assche wrote: >>> On 12/08/2016 09:13 PM, Jens Axboe wrote: +struct request *blk_mq_sched_alloc_shadow_request(struct request_queue *q, +

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-14 Thread Bart Van Assche
On 12/13/2016 04:14 PM, Jens Axboe wrote: > On 12/13/2016 06:56 AM, Bart Van Assche wrote: >> On 12/08/2016 09:13 PM, Jens Axboe wrote: >>> +struct request *blk_mq_sched_alloc_shadow_request(struct request_queue *q, >>> + struct blk_mq_alloc_data >>> *da

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-13 Thread Jens Axboe
On Tue, Dec 13 2016, Bart Van Assche wrote: > On 12/08/2016 09:13 PM, Jens Axboe wrote: > >+static inline void blk_mq_sched_put_request(struct request *rq) > >+{ > >+struct request_queue *q = rq->q; > >+struct elevator_queue *e = q->elevator; > >+ > >+if (e && e->type->mq_ops.put_reques

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-13 Thread Jens Axboe
On 12/13/2016 06:56 AM, Bart Van Assche wrote: > On 12/08/2016 09:13 PM, Jens Axboe wrote: >> +/* >> + * Empty set >> + */ >> +static struct blk_mq_ops mq_sched_tag_ops = { >> +.queue_rq = NULL, >> +}; > > Hello Jens, > > Would "static struct blk_mq_ops mq_sched_tag_ops;" have been suff

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-13 Thread Bart Van Assche
On 12/08/2016 09:13 PM, Jens Axboe wrote: +static inline void blk_mq_sched_put_request(struct request *rq) +{ + struct request_queue *q = rq->q; + struct elevator_queue *e = q->elevator; + + if (e && e->type->mq_ops.put_request) + e->type->mq_ops.put_request(rq); +

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-13 Thread Bart Van Assche
On 12/08/2016 09:13 PM, Jens Axboe wrote: +/* + * Empty set + */ +static struct blk_mq_ops mq_sched_tag_ops = { + .queue_rq = NULL, +}; Hello Jens, Would "static struct blk_mq_ops mq_sched_tag_ops;" have been sufficient? Can this data structure be declared 'const' if the blk_mq_op