函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Do a randomly selected number of extensions of an existing RCU read-side* critical section.

函数原型:static struct rt_read_seg *rcutorture_loop_extend(int *readstate, struct torture_random_state *trsp, struct rt_read_seg *rtrsp)

返回类型:struct rt_read_seg

参数:

类型参数名称
int *readstate
struct torture_random_state *trsp
struct rt_read_seg *rtrsp
1241  mask等于Return the biggest extendables mask given current RCU and boot parameters.
1243  WARN_ON_ONCE(! * readstate)
1244  如果非mask减1按位与mask的值则返回:rtrsp
1247  i等于torture_random(trsp)右移3位
1248  i等于i按位或i右移3位的值按位与Maximum reader extensions. 的值加1
1249 j小于i循环
1250  mask等于Return a random protection state mask, but with at least one bit set.
1251  Do one extension of an RCU read-side critical section using the* current reader state in readstate (set to zero for initial entry* to extended critical section), set the new state as specified by* newstate (set to zero for final exit from extended
1253  返回:rtrsp[j]
调用者
名称描述
rcu_torture_one_readDo 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.