mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
block: move elevator tags into struct elevator_resources
This patch introduces a new structure, struct elevator_resources, to group together all elevator-related resources that share the same lifetime. As a first step, this change moves the elevator tag pointer from struct elv_change_ctx into the new struct elevator_resources. Additionally, rename blk_mq_alloc_sched_tags_batch() and blk_mq_free_sched_tags_batch() to blk_mq_alloc_sched_res_batch() and blk_mq_free_sched_res_batch(), respectively. Introduce two new wrapper helpers, blk_mq_alloc_sched_res() and blk_mq_free_sched_res(), around blk_mq_alloc_sched_tags() and blk_mq_free_sched_tags(). These changes pave the way for consolidating the allocation and freeing of elevator-specific resources into common helper functions. This refactoring improves encapsulation and prepares the code for future extensions, allowing additional elevator-specific data to be added to struct elevator_resources without cluttering struct elv_change_ctx. Subsequent patches will extend struct elevator_resources to include other elevator-related data. Reviewed-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Yu Kuai <yukuai@fnnas.com> Signed-off-by: Nilay Shroff <nilay@linux.ibm.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
@@ -32,6 +32,11 @@ struct elevator_tags {
|
||||
struct blk_mq_tags *tags[];
|
||||
};
|
||||
|
||||
struct elevator_resources {
|
||||
/* holds elevator tags */
|
||||
struct elevator_tags *et;
|
||||
};
|
||||
|
||||
/* Holding context data for changing elevator */
|
||||
struct elv_change_ctx {
|
||||
const char *name;
|
||||
@@ -43,8 +48,8 @@ struct elv_change_ctx {
|
||||
struct elevator_queue *new;
|
||||
/* store elevator type */
|
||||
struct elevator_type *type;
|
||||
/* holds sched tags data */
|
||||
struct elevator_tags *et;
|
||||
/* store elevator resources */
|
||||
struct elevator_resources res;
|
||||
};
|
||||
|
||||
struct elevator_mq_ops {
|
||||
|
||||
Reference in New Issue
Block a user