Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:bfq_init_rq

Proto:static struct bfq_queue *bfq_init_rq(struct request *rq)

Type:struct bfq_queue

Parameter:

TypeParameterName
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  If Value for the false possibility is greater at compile time(!icq) Then Return NULL
6129  If priv[1] Then Return 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  If Value is more likely to compile time(!new_queue) Then
6144  bfq_log_bfqq(bfqd, bfqq, "breaking apart bfqq")
6151  split = true
6153  If Not bfqq Then bfqq = bfq_get_bfqq_handle_split(bfqd, bic, bio, true, is_sync, NULL)
6157  Else 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  If Value is more likely to compile time(bfqq != & fallback dummy bfqq for extreme OOM conditions ) && bfqq_process_refs(bfqq) == 1 Then
6177  Pointer to the bfq_io_cq owning the bfq_queue, set to %NULL* if the queue is shared. = bic
6178  If split Then
6209  If Value for the false possibility is greater at compile time(bfq_bfqq_just_created(bfqq) && ( number of queues in the current burst of queue activations > 0 || bfq_tot_busy_queues(bfqd) == 0)) Then 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  Return bfqq
Caller
NameDescribe
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