函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:blk_account_io_start

函数原型:void blk_account_io_start(struct request *rq, bool new_io)

返回类型:void

参数:

类型参数名称
struct request *rq
boolnew_io
1356  rw等于rq_data_dir(rq)
1358  如果非Contribute to IO statistics IFF:* a) it's attached to a gendisk, and* b) the queue had IO stats enabled when this request was started则返回
1361  Macros to operate on percpu disk statistics:* {disk|part|all}_stat_{add|sub|inc|dec}() modify the stat counters* and should be called between disk_stat_lock() and* disk_stat_unlock()()
1363  如果非new_io
1364  part等于part
1365  part_stat_inc(part, merges[rw])
1366  否则
1367  part等于disk_map_sector_rcu(rq_disk, lk_rq_pos() : the current sector* blk_rq_bytes() : bytes left in the entire request* blk_rq_cur_bytes() : bytes left in the current segment* blk_rq_err_bytes() : bytes left till the next error boundary* blk_rq_sectors() : sectors left in the entire )
1368  如果非hd_struct_try_get(part)则
1377  part等于part0
1380  part_inc_in_flight(q, part, rw)
1381  part等于part
1384  update_io_ticks(part, jiffies)
1386  part_stat_unlock()
调用者
名称描述
bio_attempt_back_merge
bio_attempt_front_merge
bio_attempt_discard_merge
blk_insert_cloned_requestlk_insert_cloned_request - Helper for stacking drivers to submit a request*@q: the queue to submit the request*@rq: the request being queued
blk_execute_rq_nowaitlk_execute_rq_nowait - insert a request into queue for execution*@q: queue to insert the request in*@bd_disk: matching gendisk*@rq: request to insert*@at_head: insert request at head or tail of queue*@done: I/O completion handler* Description:* Insert a
blk_mq_bio_to_request