函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-mq.c Create Date:2022-07-27 18:44:28
Last Modify:2020-03-17 23:18:05 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:blk_mq_requeue_work

函数原型:static void blk_mq_requeue_work(struct work_struct *work)

返回类型:void

参数:

类型参数名称
struct work_struct *work
709  q等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(work, structrequest_queue, work)
711  LIST_HEAD(rq_list)
714  spin_lock_irq( & requeue_lock)
715  加入二个链表项并重新初始化
716  spin_unlock_irq( & requeue_lock)
719  如果非rq_flags按位与may not be passed by ioscheduler 按位或don't call prep for this one 的值的值则继续下一循环
722  rq_flags与等于may not be passed by ioscheduler 的反
723  删除链表项并重新初始化
729  如果rq_flags按位与don't call prep for this one Should only be used carefully, when the caller knows we want to* bypass a potential IO scheduler on the target device.
731  否则blk_mq_sched_insert_request(rq, true, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., false)
735  当非链表为空循环
736  rq等于list_entry - get the struct for this entry*@ptr: the &struct list_head pointer.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.(next, structrequest, queuelist)
737  删除链表项并重新初始化
738  blk_mq_sched_insert_request(rq, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., false)
741  blk_mq_run_hw_queues(q, false)