Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\rcutorture.c Create Date:2022-07-28 10:21:52
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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.

Proto:static int rcu_torture_reader(void *arg)

Type:int

Parameter:

TypeParameterName
void *arg
1357  lastsleep = jiffies
1358  myid = arg
1359  mynumonline = myid
1363  VERBOSE_TOROUT_STRING("rcu_torture_reader task started")
1364  set_user_nice(current process, MAX_NICE)
1365  If irqreader && irq_capable Then timer_setup_on_stack( & t, 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., 0)
1367  tick_dep_set_task(current process, TICK_DEP_BIT_RCU)
1368  Do
1369  If irqreader && irq_capable Then
1373  If Not 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. && Not Is it time for the current torture test to stop? Then schedule_timeout_interruptible(HZ)
1377  lastsleep = jiffies + 10
1379  When num_online_cpus() < mynumonline && Not Is it time for the current torture test to stop? cycle
1380  schedule_timeout_interruptible(HZ / 5)
1381  Task stuttering, which forces load/no-load transitions.
1382  When Not Is it time for the current torture test to stop? cycle
1383  If irqreader && irq_capable Then
1384  del_timer_sync( & t)
1385  destroy_timer_on_stack( & t)
1387  tick_dep_clear_task(current process, TICK_DEP_BIT_RCU)
1388  Each kthread must wait for kthread_should_stop() before returning from* its top-level function, otherwise segfaults ensue
1389  Return 0