函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:bfq_init_rq

函数原型:static struct bfq_queue *bfq_init_rq(struct request *rq)

返回类型:struct bfq_queue

参数:

类型参数名称
struct request *rq
6110  q等于q
6111  bio等于bio
6112  bfqd等于elevator_data
6114  is_sync等于rq_is_sync(rq)
6116  bool new_queue = false
6117  bool bfqq_already_existing = TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., split = false
6119  如果此条件成立可能性小(为编译器优化)(!icq)则返回:NULL
6129  如果priv[1]则返回:priv[1]
6132  bic等于q_to_bic - convert iocontext queue structure to bfq_io_cq.*@icq: the iocontext queue.
6134  bfq_check_ioprio_change(bic, bio)
6136  bfq_bic_update_cgroup(bic, bio)
6138  bfqq等于bfq_get_bfqq_handle_split(bfqd, bic, bio, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., is_sync, & new_queue)
6141  如果此条件成立可能性大(为编译器优化)(!new_queue)则
6144  bfq_log_bfqq(bfqd, bfqq, "breaking apart bfqq")
6151  split = true
6153  如果非bfqqbfqq等于bfq_get_bfqq_handle_split(bfqd, bic, bio, true, is_sync, NULL)
6157  否则bfqq_already_existing = true
6162  umber of requests currently allocated 自加
6163  ce counter 自加
6164  bfq_log_bfqq(bfqd, bfqq, "get_request %p: bfqq %p, %d", rq, bfqq, ce counter )
6167  priv[0]等于bic
6168  priv[1]等于bfqq
6176  如果此条件成立可能性大(为编译器优化)(bfqq != & fallback dummy bfqq for extreme OOM conditions )且bfqq_process_refs(bfqq)恒等于1则
6177  Pointer to the bfq_io_cq owning the bfq_queue, set to %NULL* if the queue is shared.等于bic
6178  如果split
6209  如果此条件成立可能性小(为编译器优化)(bfq_bfqq_just_created(bfqq) && ( number of queues in the current burst of queue activations > 0 || bfq_tot_busy_queues(bfqd) == 0))则If many queues belonging to the same group happen to be created* shortly after each other, then the processes associated with these* queues have typically a common goal
6214  返回:bfqq
调用者
名称描述
bfq_request_merged
bfq_requests_mergedThis function is called to notify the scheduler that the requests* rq and 'next' have been merged, with 'next' going away
bfq_insert_request