Function report |
Source Code:kernel\rcu\rcutorture.c |
Create Date:2022-07-28 10:21:58 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Print torture statistics
Proto:static void rcu_torture_stats_print(void)
Type:void
Parameter:Nothing
1405 | long pipesummary[11] = {0} |
1406 | long batchsummary[11] = {0} |
1411 | for_each_possible_cpu(cpu) |
1412 | When i < RCU_TORTURE_PIPE_LEN + 1 cycle |
1413 | pipesummary[i] += per_cpu(rcu_torture_count, cpu)[i] |
1414 | batchsummary[i] += per_cpu(rcu_torture_batch, cpu)[i] |
1418 | If pipesummary[i] != 0 Then Break |
1422 | pr_alert("%s%s ", torture_type, TORTURE_FLAG) |
1423 | Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("rtc: %p %s: %lu tfle: %d rta: %d rtaf: %d rtf: %d ", rcu_torture_current, rcu_torture_current ? "ver" : "VER", rcu_torture_current_version, list_empty - tests whether a list is empty*@head: the list to test., atomic_read( & n_rcu_torture_alloc), atomic_read( & n_rcu_torture_alloc_fail), atomic_read( & n_rcu_torture_free)) |
1440 | torture_onoff_stats() |
1446 | pr_alert("%s%s ", torture_type, TORTURE_FLAG) |
1447 | If atomic_read( & n_rcu_torture_mberror) || n_rcu_torture_barrier_error || n_rcu_torture_boost_ktrerror || n_rcu_torture_boost_rterror || n_rcu_torture_boost_failure || i > 1 Then |
1451 | Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("%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 | Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("Reader Pipe: ") |
1465 | pr_alert("%s%s ", torture_type, TORTURE_FLAG) |
1466 | Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("Reader Batch: ") |
1471 | pr_alert("%s%s ", torture_type, TORTURE_FLAG) |
1472 | Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("Free-Block Circulation: ") |
1473 | When i < RCU_TORTURE_PIPE_LEN + 1 cycle |
1480 | If (rtcv_snap == rcu_torture_current_version && rcu_torture_current != NULL) Then |
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 | pr_alert("??? 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 : run state, wtp == NULL ? - 1 : (int)task_cpu(wtp)) |
1496 | sched_show_task(wtp) |
1497 | splatted = true |
1499 | show_rcu_gp_kthreads() |
Name | Describe |
---|---|
rcu_torture_stats | Periodically prints torture statistics, if periodic statistics printing* was specified via the stat_interval module parameter. |
rcu_torture_cleanup |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |