函数逻辑报告 |
Source Code:kernel\rcu\tree.c |
Create Date:2022-07-27 11:27:41 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Helper function for rcu_init() that initializes the rcu_state structure.
函数原型:static void __init rcu_init_one(void)
返回类型:void
参数:无
3379 | buf[]等于RCU_NODE_NAME_INIT |
3380 | fqs[]等于RCU_FQS_NAME_INIT |
3385 | cpustride等于1 |
3390 | BUILD_BUG_ON - break compile if a condition is true(RCU_NUM_LVLS > ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(buf)) |
3393 | 如果rcu_num_lvls小于等于0或rcu_num_lvls大于RCU_NUM_LVLS则panic - halt the system*@fmt: The text string to print* Display a message, then perform cleanups.* This function never returns. |
3398 | 以i小于rcu_num_lvls循环level[i]等于level[i - 1]加Number of rcu_nodes at specified level. [i - 1] |
3406 | cpustride乘等于levelspread[i] |
3408 | 以j小于Number of rcu_nodes at specified level. [i]循环 |
3409 | raw_spin_lock_init( & ACCESS_PRIVATE(rnp, lock)) |
3410 | lockdep_set_class_and_name( & ACCESS_PRIVATE(rnp, lock), & rcu_node_class[i], buf[i]) |
3412 | raw_spin_lock_init( & fqslock) |
3413 | lockdep_set_class_and_name( & fqslock, & rcu_fqs_class[i], fqs[i]) |
3419 | qsmaskinit等于0 |
3421 | highest-numbered CPU or group here. 等于j加1的和乘cpustride减1 |
3422 | 如果highest-numbered CPU or group here. 大于等于nr_cpu_ids则highest-numbered CPU or group here. 等于nr_cpu_ids减1 |
3424 | 如果i恒等于0则 |
3425 | CPU/group number for next level up. 等于0 |
3426 | Mask to apply to parent qsmask. 等于0 |
3427 | cu_node tree? = NULL |
3428 | 否则 |
3429 | CPU/group number for next level up. 等于j取模levelspread[i - 1] |
3431 | cu_node tree? 等于level[i - 1]加j除levelspread[i - 1] |
3434 | is at level 0. 等于i |
3435 | 初始化链表头 |
3436 | rcu_init_one_nocb(rnp) |
3437 | init_waitqueue_head( & exp_wq[0]) |
3438 | init_waitqueue_head( & exp_wq[1]) |
3439 | init_waitqueue_head( & exp_wq[2]) |
3440 | init_waitqueue_head( & exp_wq[3]) |
3441 | spin_lock_init( & exp_lock) |
3445 | init_swait_queue_head( & Where GP task waits. ) |
3446 | init_swait_queue_head( & Wait for check-ins. ) |
3450 | rnp自加 |
3451 | ({ |
名称 | 描述 |
---|---|
rcu_init | 初始化直接读拷贝更新的锁机制 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |