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(),

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(),

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 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

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

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

2016-12-14 Thread Jens Axboe
Signed-off-by: Jens Axboe --- block/Makefile | 2 +- block/blk-core.c | 7 +- block/blk-exec.c | 3 +- block/blk-flush.c| 7 +- block/blk-mq-sched.c | 375 +++ block/blk-mq-sched.h | 190

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

2016-12-14 Thread Jens Axboe
Signed-off-by: Jens Axboe --- block/Makefile | 2 +- block/blk-core.c | 7 +- block/blk-exec.c | 3 +- block/blk-flush.c| 7 +- block/blk-mq-sched.c | 375 +++ block/blk-mq-sched.h | 190

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 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 >>>

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 >>>

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 &&

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 &&

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

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

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: +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

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

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

2016-12-08 Thread Jens Axboe
Signed-off-by: Jens Axboe --- block/Makefile | 2 +- block/blk-core.c | 9 +- block/blk-exec.c | 3 +- block/blk-flush.c| 7 +- block/blk-merge.c| 3 + block/blk-mq-sched.c | 246 +++

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

2016-12-08 Thread Jens Axboe
Signed-off-by: Jens Axboe --- block/Makefile | 2 +- block/blk-core.c | 9 +- block/blk-exec.c | 3 +- block/blk-flush.c| 7 +- block/blk-merge.c| 3 + block/blk-mq-sched.c | 246 +++

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

2016-12-07 Thread Jens Axboe
Signed-off-by: Jens Axboe --- block/blk-mq-sched.c | 243 +++ block/blk-mq-sched.h | 168 +++ 2 files changed, 411 insertions(+) create mode 100644 block/blk-mq-sched.c create mode 100644

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

2016-12-07 Thread Jens Axboe
Signed-off-by: Jens Axboe --- block/blk-mq-sched.c | 243 +++ block/blk-mq-sched.h | 168 +++ 2 files changed, 411 insertions(+) create mode 100644 block/blk-mq-sched.c create mode 100644 block/blk-mq-sched.h diff