函数逻辑报告 |
Source Code:kernel\rcu\rcutorture.c |
Create Date:2022-07-27 11:22:08 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Do one read-side critical section, returning false if there was* no data to read. Can be invoked both from process context and* from a timer handler.
函数原型:static bool rcu_torture_one_read(struct torture_random_state *trsp)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
struct torture_random_state * | trsp |
1269 | readstate等于0 |
1270 | struct rt_read_seg rtseg[10] = {{0}} |
1277 | started等于get_gp_seq() |
1278 | ts等于rcu_trace_clock_local() |
1284 | 如果(p == NULL)则 |
1289 | 如果rtort_mbtest恒等于0则atomic_inc( & n_rcu_torture_mberror) |
1291 | rtrsp等于Do a randomly selected number of extensions of an existing RCU read-side* critical section. |
1292 | 禁止抢占() |
1293 | pipe_count等于rtort_pipe_count |
1294 | 如果pipe_count大于RCU_TORTURE_PIPE_LEN则 |
1298 | completed等于get_gp_seq() |
1299 | 如果pipe_count大于1则 |
1305 | completed等于rcutorture_seq_diff(completed, started) |
1306 | 如果completed大于RCU_TORTURE_PIPE_LEN则 |
1311 | 禁用抢占和中断() |
1313 | WARN_ON_ONCE(readstate & RCUTORTURE_RDR_MASK) |
1316 | 如果pipe_count大于1或completed大于1的值且非xchg( & err_segs_recorded, 1)则 |
1323 | 返回:true |
名称 | 描述 |
---|---|
rcu_torture_timer | RCU torture reader from timer handler. Dereferences rcu_torture_current,* incrementing the corresponding element of the pipeline array. The* counter in the element should never be greater than 1, otherwise, the* RCU implementation is broken. |
rcu_torture_reader | RCU torture reader kthread. Repeatedly dereferences rcu_torture_current,* incrementing the corresponding element of the pipeline array. The* counter in the element should never be greater than 1, otherwise, the* RCU implementation is broken. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |