Function report |
Source Code:kernel\rcu\srcutree.c |
Create Date:2022-07-28 10:18:22 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Initialize SRCU combining tree. Note that statically allocated* srcu_struct structures might already have srcu_read_lock() and* srcu_read_unlock() running against them. So if the is_static parameter
Proto:static void init_srcu_struct_nodes(struct srcu_struct *ssp, bool is_static)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct srcu_struct * | ssp | |
bool | is_static |
87 | level = 0 |
95 | When i < rcu_num_lvls cycle level[i] = level[i - 1] + num_rcu_lvl[i - 1] |
105 | srcu_have_cbs[i] = 0 |
106 | srcu_data_have_cbs[i] = 0 |
108 | srcu_gp_seq_needed_exp = 0 |
109 | grplo = -1 |
110 | grphi = -1 |
113 | srcu_parent = NULL |
114 | Continue |
120 | srcu_parent = level[level - 1] + (snp - level[level]) / levelspread[level - 1] |
131 | level = rcu_num_lvls - 1 |
133 | for_each_possible_cpu(cpu) |
134 | sdp = per_cpu_ptr(sda, cpu) |
136 | rcu_segcblist_init( & srcu_cblist) |
137 | srcu_cblist_invoking = false |
140 | mynode = snp_first[cpu / levelspread[level]] |
147 | INIT_WORK( & work, srcu_invoke_callbacks) |
151 | If is_static Then Continue |
156 | srcu_lock_count[i] = 0 |
157 | srcu_unlock_count[i] = 0 |
Name | Describe |
---|---|
init_srcu_struct_fields | Initialize non-compile-time initialized fields, including the* associated srcu_node and srcu_data structures. The is_static* parameter is passed through to init_srcu_struct_nodes(), and* also tells us that ->sda has already been wired up to srcu_data. |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |