Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:__bfq_bfqq_expire

Proto:static bool __bfq_bfqq_expire(struct bfq_data *bfqd, struct bfq_queue *bfqq, enum bfqq_expiration reason)

Type:bool

Parameter:

TypeParameterName
struct bfq_data *bfqd
struct bfq_queue *bfqq
enum bfqq_expirationreason
3472  If bfq_bfqq_coop(bfqq) && BFQQ_SEEKY(bfqq) Then bfq_mark_bfqq_split_coop(bfqq)
3488  If RB_EMPTY_ROOT( & sorted list of pending requests ) && Not ( reason == BFQQE_PREEMPTED && There is a case where idling does not have to be performed for* throughput concerns, but to preserve the throughput share of* the process associated with bfqq) Then
3491  If umber of requests on the dispatch list or inside driver == 0 Then udget expiration (in jiffies) = jiffies
3500  Called when the bfqq no longer has requests pending, remove it from* the service tree. As a special case, it can be invoked during an* expiration.
3501  Else
3502  bfq_requeue_bfqq(bfqd, bfqq, true)
3507  If Value for the false possibility is greater at compile time(! true if the device is non rotational and performs queueing && !RB_EMPTY_ROOT( & sorted list of pending requests )) Then 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()
3519  Return rns true if the in-service queue gets freed
Caller
NameDescribe
bfq_bfqq_expireq_bfqq_expire - expire a queue.*@bfqd: device owning the queue.*@bfqq: the queue to expire.*@compensate: if true, compensate for the time spent idling.*@reason: the reason causing the expiration.* If the process associated with bfqq does slow I/O (e
bfq_exit_bfqq