Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-timeout.c Create Date:2022-07-28 17:06:55
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:lk_add_timer - Start timeout timer for a single request*@req: request that is about to start running.* Notes:* Each request has its own timer, and as it is added to the queue, we* set up the timer. When the request completes, we cancel the timer.

Proto:void blk_add_timer(struct request *req)

Type:void

Parameter:

TypeParameterName
struct request *req
114  q = q
121  If Not timeout Then timeout = rq_timeout
124  rq_flags &= ~->timeout has been called, don't expire again
126  expiry = jiffies + timeout
127  WRITE_ONCE(deadline, expiry)
134  expiry = blk_rq_timeout(d_jiffies_up - function to round jiffies up to a full second*@j: the time in (absolute) jiffies that should be rounded* This is the same as round_jiffies() except that it will never* round down)
136  If Not mer_pending - is a timer pending?*@timer: the timer in question* timer_pending will tell whether a given timer is currently pending,* or not. Callers must ensure serialization wrt. other operations done* to this timer, eg || time_before(expiry, expires) Then
138  diff = expires - expiry
147  If Not mer_pending - is a timer pending?*@timer: the timer in question* timer_pending will tell whether a given timer is currently pending,* or not. Callers must ensure serialization wrt. other operations done* to this timer, eg || diff >= HZ / 2 Then mod_timer - modify a timer's timeout*@timer: the timer to be modified*@expires: new timeout in jiffies* mod_timer() is a more efficient way to update the expire field of an* active timer (if the timer is inactive it will be activated)* mod_timer(timer,
Caller
NameDescribe
blk_mq_start_request
blk_mq_rq_timed_out