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 |