ANDROID: add hooks into blk-mq.c for customized I/O scheduler.
Our scheduler uses the ANDROID_OEM_DATA field in the request_queue
structure to customize a set of ops operations for the request queue
applied by the ufs/emmc driver. Adopt fine-grained IO scheduling
strategies based on specific request types and user scenarios
android_rvh_internal_blk_mq_alloc_request: Obtain a new tag.
This process may be scheduled because the tag cannot be allocated
quickly, so a restricted hook is required.
android_vh_internal_blk_mq_free_request: Release individually allocated
tags
android_vh_blk_mq_complete_request: Record the time when the request was
completed
android_vh_blk_mq_add_to_requeue_list: Add requests to a separate
distribution queue
android_rvh_blk_mq_delay_run_hw_queue: The process of calling queue_rq
to handle the request may be scheduled, so restricted hooks need to be
used
android_vh_blk_mq_run_hw_queue: Set need_run to true
android_vh_blk_mq_insert_request: Insert the request into a customized
queue
android_rvh_blk_mq_alloc_rq_map: The process of assigning customized
tags may be scheduled, so restricted hooks need to be used
android_rvh_blk_mq_init_allocated_queue: The customized scheduler is
initialized and needs to allocate some resources. This process may be
scheduled, so restricted hooks need to be used
android_vh_blk_mq_exit_queue: Release resources allocated by the
customized scheduler
android_vh_blk_mq_alloc_tag_set: Get tagset information
Bug: 319582497
Change-Id: I2b16d69a1e7085a4f5f82660b75188c517b01894
Signed-off-by:
hao lv <hao.lv5@transsion.com>
Loading
Please sign in to comment