Function report |
Source Code:block\blk-iolatency.c |
Create Date:2022-07-28 17:45:33 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:iolatency_check_latencies
Proto:static void iolatency_check_latencies(struct iolatency_grp *iolat, u64 now)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct iolatency_grp * | iolat | |
| u64 | now |
| 522 | blkg = lat_to_blkg(iolat) |
| 529 | latency_stat_init(iolat, & stat) |
| 531 | for_each_online_cpu(cpu) |
| 533 | s = per_cpu_ptr(stats, cpu) |
| 534 | latency_stat_sum(iolat, & stat, s) |
| 535 | latency_stat_init(iolat, s) |
| 537 | preempt_enable() |
| 540 | If Not parent Then Return |
| 545 | iolat_update_total_lat_avg(iolat, & stat) |
| 548 | If latency_sum_ok(iolat, & stat) && atomic_read( & Cookie to tell if we need to scale up or down. ) == DEFAULT_SCALE_COOKIE Then Return |
| 553 | spin_lock_irqsave( & lock, flags) |
| 555 | latency_stat_sum(iolat, & cur_stat, & stat) |
| 556 | Total io's from all of our children for the last summation. -= Our current number of IO's for the last summation. |
| 557 | Total io's from all of our children for the last summation. += latency_stat_samples(iolat, & cur_stat) |
| 560 | If Last time we adjusted the scale of everybody. >= now || now - Last time we adjusted the scale of everybody. < BLKIOLATENCY_MIN_ADJUST_TIME Then Go to out |
| 564 | If latency_sum_ok(iolat, & cur_stat) && latency_sum_ok(iolat, & stat) Then |
| 566 | If latency_stat_samples(iolat, & cur_stat) < BLKIOLATENCY_MIN_GOOD_SAMPLES Then Go to out |
| 569 | If The guy who actually changed the latency numbers. == iolat Then |
| 573 | Else if The latency that we missed. == 0 || The latency that we missed. >= min_lat_nsec Then |
| 576 | If Not The guy who actually changed the latency numbers. || The latency that we missed. > min_lat_nsec Then |
| 583 | latency_stat_init(iolat, & cur_stat) |
| 584 | out : |
| 585 | spin_unlock_irqrestore( & lock, flags) |
| Name | Describe |
|---|---|
| blkcg_iolatency_done_bio |
| 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 |