函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bfq-iosched.c Create Date:2022-07-27 19:30:54
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:bfq_remove_request

函数原型:static void bfq_remove_request(struct request_queue *q, struct request *rq)

返回类型:void

参数:

类型参数名称
struct request_queue *q
struct request *rq
2155  bfqq等于RQ_BFQQ(rq)
2156  bfqd等于parent bfq_data
2157  sync等于rq_is_sync(rq)
2159  如果 fifo isn't expired, next request to serve 恒等于rq
2160  fifo isn't expired, next request to serve 等于bfq_find_next_rq(bfqd, bfqq, rq)
2161  q_updated_next_req - update the queue after a new next_rq selection
2164  如果链表前项不等于queuelist删除链表项并重新初始化
2166  umber of sync and async requests queued [sync]自减
2167  number of queued requests 自减
2168  elv_rb_del( & sorted list of pending requests , rq)
2170  elv_rqhash_del(q, rq)
2171  如果last_merge恒等于rqlast_merge = NULL
2174  如果RB_EMPTY_ROOT( & sorted list of pending requests )则
2175  fifo isn't expired, next request to serve = NULL
2177  如果bfq_bfqq_busy(bfqq)且bfqq不等于 bfq_queue in service
2202  否则
2204  如果此条件成立可能性小(为编译器优化)(! true if the device is non rotational and performs queueing )则The following function is not marked as __cold because it is* actually cold, but for the same performance goal described in the* comments on the likely() at the beginning of* bfq_setup_cooperator()
2208  如果 op and common flags 按位与REQ_METAumber of pending metadata requests 自减
调用者
名称描述
bfq_dispatch_removeRemove request from internal lists.
bfq_finish_requeue_requestHandle either a requeue or a finish for rq. The things to do are* the same in both cases: all references to rq are to be dropped. In* particular, rq is considered completed from the point of view of* the scheduler.