函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |