Function report |
Source Code:kernel\rcu\srcutree.c |
Create Date:2022-07-28 10:18:40 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Note the end of an SRCU grace period. Initiates callback invocation* and starts a new grace period if needed.* The ->srcu_cb_mutex acquisition does not protect any data, but* instead prevents more than one grace period from starting while we
Proto:static void srcu_gp_end(struct srcu_struct *ssp)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct srcu_struct * | ssp |
526 | mutex_lock( & srcu_cb_mutex) |
530 | idx = Return the state portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current(). |
531 | WARN_ON_ONCE(idx != SRCU_STATE_SCAN2) |
532 | cbdelay = Return grace-period delay, zero if there are expedited grace* periods pending, SRCU_INTERVAL otherwise. |
536 | If ULONG_CMP_LT(srcu_gp_seq_needed_exp, gpseq) Then srcu_gp_seq_needed_exp = gpseq |
546 | cbs = false |
547 | last_lvl = snp >= level[rcu_num_lvls - 1] |
548 | If last_lvl Then cbs = srcu_have_cbs[idx] == gpseq |
550 | srcu_have_cbs[idx] = gpseq |
552 | If ULONG_CMP_LT(srcu_gp_seq_needed_exp, gpseq) Then srcu_gp_seq_needed_exp = gpseq |
554 | mask = srcu_data_have_cbs[idx] |
555 | srcu_data_have_cbs[idx] = 0 |
561 | If Not (gpseq & Overflow-check frequency. N bits roughly says every 2**N grace periods. ) && last_lvl Then When cpu <= grphi cycle |
563 | sdp = per_cpu_ptr(sda, cpu) |
565 | If ULONG_CMP_GE(gpseq, srcu_gp_seq_needed + 100) Then srcu_gp_seq_needed = gpseq |
568 | If ULONG_CMP_GE(gpseq, srcu_gp_seq_needed_exp + 100) Then srcu_gp_seq_needed_exp = gpseq |
586 | Else |
Name | Describe |
---|---|
srcu_advance_state | Core SRCU state machine. Push state bits of ->srcu_gp_seq* to SRCU_STATE_SCAN2, and invoke srcu_gp_end() when scan has* completed in that state. |
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 |