On Wed, Oct 31, 2018 at 11:59:13AM -0600, Jens Axboe wrote:
> This removes a bunch of core and elevator related code. On the core
> front, we remove anything related to queue running, draining,
> initialization, plugging, and congestions. We also kill anything
> related to request allocation, merging, retrieval, and completion.
> 
> Remove any checking for single queue IO schedulers, as they no
> longer exist. This means we can also delete a bunch of code related
> to request issue, adding, completion, etc - and all the SQ related
> ops and helpers.
> 
> Also kill the load_default_modules(), as all that did was provide
> for a way to load the default single queue elevator.
> 
> Signed-off-by: Jens Axboe <ax...@kernel.dk>

[snip]

> -struct elevator_ops
> -{
> -     elevator_merge_fn *elevator_merge_fn;
> -     elevator_merged_fn *elevator_merged_fn;
> -     elevator_merge_req_fn *elevator_merge_req_fn;
> -     elevator_allow_bio_merge_fn *elevator_allow_bio_merge_fn;
> -     elevator_allow_rq_merge_fn *elevator_allow_rq_merge_fn;
> -     elevator_bio_merged_fn *elevator_bio_merged_fn;
> -
> -     elevator_dispatch_fn *elevator_dispatch_fn;
> -     elevator_add_req_fn *elevator_add_req_fn;
> -     elevator_activate_req_fn *elevator_activate_req_fn;
> -     elevator_deactivate_req_fn *elevator_deactivate_req_fn;
> -
> -     elevator_completed_req_fn *elevator_completed_req_fn;
> -
> -     elevator_request_list_fn *elevator_former_req_fn;
> -     elevator_request_list_fn *elevator_latter_req_fn;
> -
> -     elevator_init_icq_fn *elevator_init_icq_fn;     /* see iocontext.h */
> -     elevator_exit_icq_fn *elevator_exit_icq_fn;     /* ditto */
> -
> -     elevator_set_req_fn *elevator_set_req_fn;
> -     elevator_put_req_fn *elevator_put_req_fn;
> -
> -     elevator_may_queue_fn *elevator_may_queue_fn;
> -
> -     elevator_init_fn *elevator_init_fn;
> -     elevator_exit_fn *elevator_exit_fn;
> -     elevator_registered_fn *elevator_registered_fn;
> -};
> -
>  struct blk_mq_alloc_data;
>  struct blk_mq_hw_ctx;
>  
> @@ -138,16 +70,15 @@ struct elevator_type
>  
>       /* fields provided by elevator implementation */
>       union {
> -             struct elevator_ops sq;
>               struct elevator_mq_ops mq;
>       } ops;
> +

Lol. Maybe we should get rid of this union in a followup? At least until
we rewrite the block layer again.

Reply via email to