函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\rcutorture.c Create Date:2022-07-27 11:21:44
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:rcu_torture_boost

函数原型:static int rcu_torture_boost(void *arg)

返回类型:int

参数:

类型参数名称
void *arg
803  struct rcu_boost_inflight rbi = {inflight = 0}
806  VERBOSE_TOROUT_STRING("rcu_torture_boost started")
809  sched_priority等于1
810  如果sched_setscheduler - change the scheduling policy and/or RT priority of a thread.*@p: the task in question.*@policy: new policy.*@param: structure containing the new RT priority.* Return: 0 on success. An error code otherwise.小于0则
811  VERBOSE_TOROUT_STRING("rcu_torture_boost RT prio failed!")
812  n_rcu_torture_boost_rterror自加
815  init_rcu_head_on_stack( & rcu)
817  循环
819  bool failed = false
830  如果kthread_should_stop - should this kthread return now?* When someone calls kthread_stop() on your kthread, it will be woken* and this will return true. You should then return, and your return* value will be passed through to kthread_stop().则转到:checkwait
834  oldstarttime等于jiffies of next boost test start.
843  endtime等于oldstarttimetest_boost_durationHZ
844  call_rcu_time等于jiffies
847  如果非smp_load_acquire( & inflight)则
867  如果非failedsmp_load_acquire( & inflight)则rcu_torture_boost_failed(call_rcu_time, jiffies)
889  checkwait :
889  Task stuttering, which forces load/no-load transitions.
890  当非Is it time for the current torture test to stop?循环
893  当非kthread_should_stop - should this kthread return now?* When someone calls kthread_stop() on your kthread, it will be woken* and this will return true. You should then return, and your return* value will be passed through to kthread_stop().smp_load_acquire( & inflight)循环
894  Test auto-shutdown handling.
895  schedule_timeout_uninterruptible(1)
897  destroy_rcu_head_on_stack( & rcu)
898  Each kthread must wait for kthread_should_stop() before returning from* its top-level function, otherwise segfaults ensue
899  返回:0