Loading block/bfq-iosched.c +13 −0 Original line number Diff line number Diff line Loading @@ -5425,6 +5425,18 @@ static int bfq_init_queue(struct request_queue *q, struct elevator_type *e) return -ENOMEM; } static void bfq_registered_queue(struct request_queue *q) { struct elevator_queue *e = q->elevator; struct bfq_data *bfqd = e->elevator_data; /* * Default to IOPS mode with no idling for SSDs */ if (blk_queue_nonrot(q)) bfqd->bfq_slice_idle = 0; } static void bfq_slab_kill(void) { kmem_cache_destroy(bfq_pool); Loading Loading @@ -5672,6 +5684,7 @@ static struct elevator_type iosched_bfq_mq = { .init_hctx = bfq_init_hctx, .init_sched = bfq_init_queue, .exit_sched = bfq_exit_queue, .elevator_registered_fn = bfq_registered_queue, }, .uses_mq = true, Loading block/elevator.c +2 −0 Original line number Diff line number Diff line Loading @@ -856,6 +856,8 @@ int elv_register_queue(struct request_queue *q) e->registered = 1; if (!e->uses_mq && e->type->ops.sq.elevator_registered_fn) e->type->ops.sq.elevator_registered_fn(q); else if (e->uses_mq && e->type->ops.mq.elevator_registered_fn) e->type->ops.mq.elevator_registered_fn(q); } return error; } Loading include/linux/elevator.h +1 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ struct elevator_mq_ops { struct request *(*next_request)(struct request_queue *, struct request *); void (*init_icq)(struct io_cq *); void (*exit_icq)(struct io_cq *); void (*elevator_registered_fn)(struct request_queue *q); }; #define ELV_NAME_MAX (16) Loading Loading
block/bfq-iosched.c +13 −0 Original line number Diff line number Diff line Loading @@ -5425,6 +5425,18 @@ static int bfq_init_queue(struct request_queue *q, struct elevator_type *e) return -ENOMEM; } static void bfq_registered_queue(struct request_queue *q) { struct elevator_queue *e = q->elevator; struct bfq_data *bfqd = e->elevator_data; /* * Default to IOPS mode with no idling for SSDs */ if (blk_queue_nonrot(q)) bfqd->bfq_slice_idle = 0; } static void bfq_slab_kill(void) { kmem_cache_destroy(bfq_pool); Loading Loading @@ -5672,6 +5684,7 @@ static struct elevator_type iosched_bfq_mq = { .init_hctx = bfq_init_hctx, .init_sched = bfq_init_queue, .exit_sched = bfq_exit_queue, .elevator_registered_fn = bfq_registered_queue, }, .uses_mq = true, Loading
block/elevator.c +2 −0 Original line number Diff line number Diff line Loading @@ -856,6 +856,8 @@ int elv_register_queue(struct request_queue *q) e->registered = 1; if (!e->uses_mq && e->type->ops.sq.elevator_registered_fn) e->type->ops.sq.elevator_registered_fn(q); else if (e->uses_mq && e->type->ops.mq.elevator_registered_fn) e->type->ops.mq.elevator_registered_fn(q); } return error; } Loading
include/linux/elevator.h +1 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ struct elevator_mq_ops { struct request *(*next_request)(struct request_queue *, struct request *); void (*init_icq)(struct io_cq *); void (*exit_icq)(struct io_cq *); void (*elevator_registered_fn)(struct request_queue *q); }; #define ELV_NAME_MAX (16) Loading