Function report |
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 activity | Download SCCT | Chinese |
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:
| Type | Parameter | Name |
|---|---|---|
| struct bfq_data * | bfqd | |
| struct bfq_queue * | bfqq | |
| bool | compensate | |
| enum bfqq_expiration | reason | |
| 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 |
| 3775 | bfq_log_bfqq(bfqd, bfqq, "bfq_bfqq_is_slow: slow %d", slow) |
| 3777 | Return slow |
| Name | Describe |
|---|---|
| bfq_bfqq_expire | q_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 |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |