函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\lockdep.c Create Date:2022-07-27 10:49:58
Last Modify:2020-03-17 14:16:01 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Initialize the lock_classes[] array elements, the free_lock_classes list* and also the delayed_free structure.

函数原型:static void init_data_structures_once(void)

返回类型:void

参数:

1082  如果此条件成立可能性大(为编译器优化)(rcu_head_initialized)则返回
1085  如果Values used for system_state. Ordering of the states must not be changed* as code checks for <, <=, >, >= STATE.大于等于SYSTEM_SCHEDULING
1086  初始化栈上的rcu锁
1087  rcu_head_initialized = true
1090  如果ds_initialized则返回
1093  ds_initialized = true
1095  初始化链表头
1096  初始化链表头
1098 i小于ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(lock_classes)循环
1099  添加链表项
1100  初始化链表头
1101  初始化链表头
调用者
名称描述
register_lock_classRegister a lock's class in the hash-table, if the class is not present* yet. Otherwise we look it up. We cache the result in the lock object* itself, so actual lookup of the hash should be once per lock object.
lockdep_free_key_range_regUsed in module
lockdep_free_key_range_immFree all lockdep keys in the range [start, start+size). Does not sleep.* Ignores debug_locks. Must only be used by the lockdep selftests.
lockdep_free_key_range
lockdep_reset_lock