Function report |
Source Code:kernel\rcu\srcutree.c |
Create Date:2022-07-28 10:18:45 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Funnel-locking scheme to scalably mediate many concurrent grace-period* requests
Proto:static void srcu_funnel_gp_start(struct srcu_struct *ssp, struct srcu_data *sdp, unsigned long s, bool do_norm)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct srcu_struct * | ssp | |
| struct srcu_data * | sdp | |
| unsigned long | s | |
| bool | do_norm |
| 641 | If Given a snapshot from rcu_seq_snap(), determine whether or not a* full update-side operation has occurred. && snp != mynode Then Return |
| 644 | If ULONG_CMP_GE(srcu_have_cbs[idx], s) Then |
| 645 | snp_seq = srcu_have_cbs[idx] |
| 653 | Return |
| 657 | Return |
| 659 | srcu_have_cbs[idx] = s |
| 660 | If snp == mynode Then srcu_data_have_cbs[idx] |= grpmask |
| 662 | If Not do_norm && ULONG_CMP_LT(srcu_gp_seq_needed_exp, s) Then srcu_gp_seq_needed_exp = s |
| 669 | If ULONG_CMP_LT(srcu_gp_seq_needed, s) Then |
| 674 | smp_store_release( & srcu_gp_seq_needed, s) |
| 676 | If Not do_norm && ULONG_CMP_LT(srcu_gp_seq_needed_exp, s) Then srcu_gp_seq_needed_exp = s |
| Name | Describe |
|---|---|
| __call_srcu | Enqueue an SRCU callback on the srcu_data structure associated with* the current CPU and the specified srcu_struct structure, initiating* grace-period processing if it is not already running |
| 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 |