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