Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Return true if the process associated with bfqq is "slow". The slow* flag is used, in addition to the budget timeout, to reduce the* amount of service provided to seeky processes, and thus reduce* their chances to lower the throughput

Proto:static bool bfq_bfqq_is_slow(struct bfq_data *bfqd, struct bfq_queue *bfqq, bool compensate, enum bfqq_expiration reason, unsigned long *delta_ms)

Type:bool

Parameter:

TypeParameterName
struct bfq_data *bfqd
struct bfq_queue *bfqq
boolcompensate
enum bfqq_expirationreason
unsigned long *delta_ms
3729  slow = BFQQ_SEEKY(bfqq)
3731  If Not bfq_bfqq_sync(bfqq) Then Return false
3734  If compensate Then delta_ktime = beginning of the last idle slice
3736  Else delta_ktime = ktime_get()
3738  delta_ktime = Subtract two ktime_t variables. rem = lhs -rhs: (delta_ktime, beginning of the last budget )
3739  delta_usecs = ktime_to_us(delta_ktime)
3742  If delta_usecs < 1000 Then
3743  If blk_queue_nonrot( device request queue ) Then delta_ms = Below this threshold (in ns), we consider thinktime immediate. / NSEC_PER_MSEC
3749  Else delta_ms = Idling period duration, in ns. / NSEC_PER_MSEC
3752  Return slow
3755  delta_ms = delta_usecs / USEC_PER_MSEC
3761  If delta_usecs > 20000 Then
3772  slow = amount of service received during the last service slot < maximum budget allotted to a bfq_queue before rescheduling / 2
3775  bfq_log_bfqq(bfqd, bfqq, "bfq_bfqq_is_slow: slow %d", slow)
3777  Return slow
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