• Home
  • Raw
  • Download

Lines Matching refs:s

155 static inline bool srcu_invl_snp_seq(unsigned long s)  in srcu_invl_snp_seq()  argument
157 return rcu_seq_state(s) == SRCU_SNP_INIT_SEQ; in srcu_invl_snp_seq()
847 unsigned long s) in srcu_funnel_exp_start() argument
855 if (rcu_seq_done(&ssp->srcu_gp_seq, s) || in srcu_funnel_exp_start()
856 (!srcu_invl_snp_seq(sgsne) && ULONG_CMP_GE(sgsne, s))) in srcu_funnel_exp_start()
860 if (!srcu_invl_snp_seq(sgsne) && ULONG_CMP_GE(sgsne, s)) { in srcu_funnel_exp_start()
864 WRITE_ONCE(snp->srcu_gp_seq_needed_exp, s); in srcu_funnel_exp_start()
868 if (ULONG_CMP_LT(ssp->srcu_gp_seq_needed_exp, s)) in srcu_funnel_exp_start()
869 WRITE_ONCE(ssp->srcu_gp_seq_needed_exp, s); in srcu_funnel_exp_start()
884 unsigned long s, bool do_norm) in srcu_funnel_gp_start() argument
887 int idx = rcu_seq_ctr(s) % ARRAY_SIZE(sdp->mynode->srcu_have_cbs); in srcu_funnel_gp_start()
902 if (rcu_seq_done(&ssp->srcu_gp_seq, s) && snp != snp_leaf) in srcu_funnel_gp_start()
906 if (!srcu_invl_snp_seq(snp_seq) && ULONG_CMP_GE(snp_seq, s)) { in srcu_funnel_gp_start()
907 if (snp == snp_leaf && snp_seq == s) in srcu_funnel_gp_start()
910 if (snp == snp_leaf && snp_seq != s) { in srcu_funnel_gp_start()
915 srcu_funnel_exp_start(ssp, snp, s); in srcu_funnel_gp_start()
918 snp->srcu_have_cbs[idx] = s; in srcu_funnel_gp_start()
922 if (!do_norm && (srcu_invl_snp_seq(sgsne) || ULONG_CMP_LT(sgsne, s))) in srcu_funnel_gp_start()
923 WRITE_ONCE(snp->srcu_gp_seq_needed_exp, s); in srcu_funnel_gp_start()
929 if (ULONG_CMP_LT(ssp->srcu_gp_seq_needed, s)) { in srcu_funnel_gp_start()
934 smp_store_release(&ssp->srcu_gp_seq_needed, s); /*^^^*/ in srcu_funnel_gp_start()
936 if (!do_norm && ULONG_CMP_LT(ssp->srcu_gp_seq_needed_exp, s)) in srcu_funnel_gp_start()
937 WRITE_ONCE(ssp->srcu_gp_seq_needed_exp, s); in srcu_funnel_gp_start()
940 if (!rcu_seq_done(&ssp->srcu_gp_seq, s) && in srcu_funnel_gp_start()
1088 unsigned long s; in srcu_gp_start_if_needed() local
1130 s = rcu_seq_snap(&ssp->srcu_gp_seq); in srcu_gp_start_if_needed()
1133 WARN_ON_ONCE(!rcu_segcblist_accelerate(&sdp->srcu_cblist, s) && rhp); in srcu_gp_start_if_needed()
1134 if (ULONG_CMP_LT(sdp->srcu_gp_seq_needed, s)) { in srcu_gp_start_if_needed()
1135 sdp->srcu_gp_seq_needed = s; in srcu_gp_start_if_needed()
1138 if (!do_norm && ULONG_CMP_LT(sdp->srcu_gp_seq_needed_exp, s)) { in srcu_gp_start_if_needed()
1139 sdp->srcu_gp_seq_needed_exp = s; in srcu_gp_start_if_needed()
1151 srcu_funnel_gp_start(ssp, sdp, s, do_norm); in srcu_gp_start_if_needed()
1153 srcu_funnel_exp_start(ssp, sdp_mynode, s); in srcu_gp_start_if_needed()
1155 return s; in srcu_gp_start_if_needed()
1443 unsigned long s = rcu_seq_snap(&ssp->srcu_barrier_seq); in srcu_barrier() local
1447 if (rcu_seq_done(&ssp->srcu_barrier_seq, s)) { in srcu_barrier()