__blk_run_queue

来源:互联网 发布:欧洲旅游价格知乎 编辑:程序博客网 时间:2024/05/29 12:00
1. aoe_end_request
2. blk_delay_work
3. blk_start_queue
4. blk_run_queue
5. __blk_drain_queue
6. blk_queue_bio
7. blk_insert_cloned_request
8. queue_unplugged
9. blk_post_runtime_resume
10. blk_execute_rq_nowait
11. cfq_rq_enqueued
12. cfq_kick_queue
13. __elv_add_request
__blk_run_queue
void __blk_run_queue(struct request_queue *q){if (unlikely(blk_queue_stopped(q)))return;__blk_run_queue_uncond(q);}EXPORT_SYMBOL(__blk_run_queue);
inline void __blk_run_queue_uncond(struct request_queue *q){if (unlikely(blk_queue_dead(q)))return;/* * Some request_fn implementations, e.g. scsi_request_fn(), unlock * the queue lock internally. As a result multiple threads may be * running such a request function concurrently. Keep track of the * number of active request_fn invocations such that blk_drain_queue() * can wait until all these request_fn calls have finished. */q->request_fn_active++;q->request_fn(q);q->request_fn_active--;}EXPORT_SYMBOL_GPL(__blk_run_queue_uncond);
0 0
原创粉丝点击