函数逻辑报告 |
Source Code:kernel\rcu\rcutorture.c |
Create Date:2022-07-27 11:22:18 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Print torture statistics
函数原型:static void rcu_torture_stats_print(void)
返回类型:void
参数:无
1405 | long pipesummary[11] = {0} |
1406 | long batchsummary[11] = {0} |
1412 | 以i小于RCU_TORTURE_PIPE_LEN加1循环 |
1413 | pipesummary[i]加等于per_cpu(rcu_torture_count, cpu)[i] |
1414 | batchsummary[i]加等于per_cpu(rcu_torture_batch, cpu)[i] |
1418 | 如果pipesummary[i]不等于0则退出 |
1422 | 打印警报信息("%s%s ", torture_type, TORTURE_FLAG) |
1423 | 打印标准信息("rtc: %p %s: %lu tfle: %d rta: %d rtaf: %d rtf: %d ", rcu_torture_current, rcu_torture_current ? "ver" : "VER", rcu_torture_current_version, 链表为空, atomic_read( & n_rcu_torture_alloc), atomic_read( & n_rcu_torture_alloc_fail), atomic_read( & n_rcu_torture_free)) |
1431 | 打印标准信息("rtmbe: %d rtbe: %ld rtbke: %ld rtbre: %ld ", atomic_read( & n_rcu_torture_mberror), n_rcu_torture_barrier_error, n_rcu_torture_boost_ktrerror, n_rcu_torture_boost_rterror) |
1436 | 打印标准信息("rtbf: %ld rtb: %ld nt: %ld ", n_rcu_torture_boost_failure, n_rcu_torture_boosts, atomic_long_read( & n_rcu_torture_timers)) |
1440 | torture_onoff_stats() |
1441 | 打印标准信息("barrier: %ld/%ld:%ld\n", did rcu_barrier test succeed? , n_barrier_attempts, n_rcu_torture_barrier_error) |
1446 | 打印警报信息("%s%s ", torture_type, TORTURE_FLAG) |
1451 | 打印标准信息("%s", "!!! ") |
1452 | atomic_inc( & n_rcu_torture_error) |
1453 | WARN_ON_ONCE(atomic_read( & n_rcu_torture_mberror)) |
1458 | WARN_ON_ONCE(i > 1) |
1460 | 打印标准信息("Reader Pipe: ") |
1461 | 以i小于RCU_TORTURE_PIPE_LEN加1循环打印标准信息(" %ld", pipesummary[i]) |
1463 | 打印标准信息("\n") |
1465 | 打印警报信息("%s%s ", torture_type, TORTURE_FLAG) |
1466 | 打印标准信息("Reader Batch: ") |
1467 | 以i小于RCU_TORTURE_PIPE_LEN加1循环打印标准信息(" %ld", batchsummary[i]) |
1469 | 打印标准信息("\n") |
1471 | 打印警报信息("%s%s ", torture_type, TORTURE_FLAG) |
1472 | 打印标准信息("Free-Block Circulation: ") |
1473 | 以i小于RCU_TORTURE_PIPE_LEN加1循环 |
1474 | 打印标准信息(" %d", atomic_read( & rcu_torture_wcount[i])) |
1476 | 打印标准信息("\n") |
1480 | 如果(rtcv_snap == rcu_torture_current_version && rcu_torture_current != NULL)则 |
1482 | int __maybe_unused flags = 0 |
1483 | unsigned long __maybe_unused gp_seq = 0 |
1487 | srcutorture_get_gp_data(ttype, srcu_ctlp, & flags, & gp_seq) |
1489 | wtp等于READ_ONCE(writer_task) |
1490 | 打印警报信息("??? Writer stall state %s(%d) g%lu f%#x ->state %#lx cpu %d\n", rcu_torture_writer_state_getname(), rcu_torture_writer_state, gp_seq, flags, wtp == NULL ? ~0UL : 任务状态, wtp == NULL ? - 1 : (int)task_cpu(wtp)) |
1496 | sched_show_task(wtp) |
1497 | splatted = true |
名称 | 描述 |
---|---|
rcu_torture_stats | Periodically prints torture statistics, if periodic statistics printing* was specified via the stat_interval module parameter. |
rcu_torture_cleanup |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |