Lines Matching refs:my_rdp

587 static void nocb_gp_sleep(struct rcu_data *my_rdp, int cpu)  in nocb_gp_sleep()  argument
590 swait_event_interruptible_exclusive(my_rdp->nocb_gp_wq, in nocb_gp_sleep()
591 !READ_ONCE(my_rdp->nocb_gp_sleep)); in nocb_gp_sleep()
599 static void nocb_gp_wait(struct rcu_data *my_rdp) in nocb_gp_wait() argument
603 int __maybe_unused cpu = my_rdp->cpu; in nocb_gp_wait()
621 WARN_ON_ONCE(my_rdp->nocb_gp_rdp != my_rdp); in nocb_gp_wait()
636 list_for_each_entry(rdp, &my_rdp->nocb_head_rdp, nocb_entry_rdp) { in nocb_gp_wait()
698 my_rdp->nocb_gp_bypass = bypass; in nocb_gp_wait()
699 my_rdp->nocb_gp_gp = needwait_gp; in nocb_gp_wait()
700 my_rdp->nocb_gp_seq = needwait_gp ? wait_gp_seq : 0; in nocb_gp_wait()
705 wake_nocb_gp_defer(my_rdp, RCU_NOCB_WAKE_BYPASS, in nocb_gp_wait()
712 if (list_empty(&my_rdp->nocb_head_rdp)) { in nocb_gp_wait()
713 raw_spin_lock_irqsave(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
714 if (!my_rdp->nocb_toggling_rdp) in nocb_gp_wait()
715 WRITE_ONCE(my_rdp->nocb_gp_sleep, true); in nocb_gp_wait()
716 raw_spin_unlock_irqrestore(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
718 nocb_gp_sleep(my_rdp, cpu); in nocb_gp_wait()
724 nocb_gp_sleep(my_rdp, cpu); in nocb_gp_wait()
726 rnp = my_rdp->mynode; in nocb_gp_wait()
727 trace_rcu_this_gp(rnp, my_rdp, wait_gp_seq, TPS("StartWait")); in nocb_gp_wait()
731 !READ_ONCE(my_rdp->nocb_gp_sleep)); in nocb_gp_wait()
732 trace_rcu_this_gp(rnp, my_rdp, wait_gp_seq, TPS("EndWait")); in nocb_gp_wait()
736 raw_spin_lock_irqsave(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
738 rdp_toggling = my_rdp->nocb_toggling_rdp; in nocb_gp_wait()
740 my_rdp->nocb_toggling_rdp = NULL; in nocb_gp_wait()
742 if (my_rdp->nocb_defer_wakeup > RCU_NOCB_WAKE_NOT) { in nocb_gp_wait()
743 WRITE_ONCE(my_rdp->nocb_defer_wakeup, RCU_NOCB_WAKE_NOT); in nocb_gp_wait()
744 del_timer(&my_rdp->nocb_timer); in nocb_gp_wait()
746 WRITE_ONCE(my_rdp->nocb_gp_sleep, true); in nocb_gp_wait()
747 raw_spin_unlock_irqrestore(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
749 rdp_toggling = READ_ONCE(my_rdp->nocb_toggling_rdp); in nocb_gp_wait()
758 raw_spin_lock_irqsave(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
759 my_rdp->nocb_toggling_rdp = NULL; in nocb_gp_wait()
760 raw_spin_unlock_irqrestore(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
770 list_add_tail(&rdp_toggling->nocb_entry_rdp, &my_rdp->nocb_head_rdp); in nocb_gp_wait()
777 my_rdp->nocb_gp_seq = -1; in nocb_gp_wait()