函数逻辑报告 |
Source Code:init\calibrate.c |
Create Date:2022-07-27 15:17:33 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:calibrate_delay_direct
函数原型:static unsigned long calibrate_delay_direct(void)
返回类型:unsigned long
参数:无
| 41 | good_timer_sum等于0 |
| 42 | good_timer_count等于0 |
| 44 | max等于负1 |
| 45 | min等于负1 |
| 48 | 如果read_current_timer( & pre_start)小于0则返回:0 |
| 71 | pre_start等于0 |
| 72 | read_current_timer( & start) |
| 73 | start_jiffies等于jiffies |
| 74 | 当time_before_eq(jiffies, start_jiffies + 1)循环 |
| 76 | read_current_timer( & start) |
| 78 | read_current_timer( & post_start) |
| 80 | pre_end等于0 |
| 81 | end等于post_start |
| 85 | read_current_timer( & end) |
| 87 | read_current_timer( & post_end) |
| 103 | 如果start小于post_end且pre_start不等于0且pre_end不等于0且timer_rate_max减timer_rate_min小于timer_rate_max右移3位则 |
| 105 | good_timer_count自加 |
| 106 | good_timer_sum加等于timer_rate_max |
| 107 | measured_times[i]等于timer_rate_max |
| 108 | 如果max小于0或timer_rate_max大于measured_times[max]则max等于i |
| 110 | 如果min小于0或timer_rate_max小于measured_times[min]则min等于i |
| 112 | 否则measured_times[i]等于0 |
| 121 | 当good_timer_count大于1循环 |
| 130 | 如果measured_times[max]减measured_times[min]小于maxdiff则返回:estimate |
| 134 | good_timer_sum等于0 |
| 135 | good_timer_count等于0 |
| 136 | 如果measured_times[max]减estimate小于estimate减measured_times[min]则 |
| 141 | measured_times[min]等于0 |
| 143 | 否则 |
| 147 | measured_times[max]等于0 |
| 152 | 如果measured_times[i]恒等于0则继续下一循环 |
| 154 | good_timer_count自加 |
| 155 | good_timer_sum加等于measured_times[i] |
| 156 | 如果measured_times[i]小于measured_times[min]则min等于i |
| 158 | 如果measured_times[i]大于measured_times[max]则max等于i |
| 167 | 返回:0 |
| 名称 | 描述 |
|---|---|
| calibrate_delay | 计算CPU需要校准的时间 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |