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