Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\lockdep.c Create Date:2022-07-28 09:49:39
Last Modify:2020-03-17 14:16:01 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Initialize the lock_classes[] array elements, the free_lock_classes list* and also the delayed_free structure.

Proto:static void init_data_structures_once(void)

Type:void

Parameter:Nothing

1082  If Value is more likely to compile time(rcu_head_initialized) Then Return
1085  If Values used for system_state. Ordering of the states must not be changed* as code checks for <, <=, >, >= STATE. >= SYSTEM_SCHEDULING Then
1086  The init_rcu_head_on_stack() and destroy_rcu_head_on_stack() calls* are needed for dynamic initialization and destruction of rcu_head* on the stack, and init_rcu_head()/destroy_rcu_head() are needed for* dynamic initialization and destruction of
1087  rcu_head_initialized = true
1090  If ds_initialized Then Return
1093  ds_initialized = true
1095  Initialization list head
1096  Initialization list head
1098  When i < ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(lock_classes) cycle
1099  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
1100  Initialization list head
1101  Initialization list head
Caller
NameDescribe
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