• Home
  • Raw
  • Download

Lines Matching refs:my_rdp

665 static void nocb_gp_sleep(struct rcu_data *my_rdp, int cpu)  in nocb_gp_sleep()  argument
668 swait_event_interruptible_exclusive(my_rdp->nocb_gp_wq, in nocb_gp_sleep()
669 !READ_ONCE(my_rdp->nocb_gp_sleep)); in nocb_gp_sleep()
677 static void nocb_gp_wait(struct rcu_data *my_rdp) in nocb_gp_wait() argument
680 int __maybe_unused cpu = my_rdp->cpu; in nocb_gp_wait()
699 WARN_ON_ONCE(my_rdp->nocb_gp_rdp != my_rdp); in nocb_gp_wait()
714 list_for_each_entry(rdp, &my_rdp->nocb_head_rdp, nocb_entry_rdp) { in nocb_gp_wait()
795 my_rdp->nocb_gp_bypass = bypass; in nocb_gp_wait()
796 my_rdp->nocb_gp_gp = needwait_gp; in nocb_gp_wait()
797 my_rdp->nocb_gp_seq = needwait_gp ? wait_gp_seq : 0; in nocb_gp_wait()
804 wake_nocb_gp_defer(my_rdp, RCU_NOCB_WAKE_LAZY, in nocb_gp_wait()
808 wake_nocb_gp_defer(my_rdp, RCU_NOCB_WAKE_BYPASS, in nocb_gp_wait()
817 if (list_empty(&my_rdp->nocb_head_rdp)) { in nocb_gp_wait()
818 raw_spin_lock_irqsave(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
819 if (!my_rdp->nocb_toggling_rdp) in nocb_gp_wait()
820 WRITE_ONCE(my_rdp->nocb_gp_sleep, true); in nocb_gp_wait()
821 raw_spin_unlock_irqrestore(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
823 nocb_gp_sleep(my_rdp, cpu); in nocb_gp_wait()
829 nocb_gp_sleep(my_rdp, cpu); in nocb_gp_wait()
831 rnp = my_rdp->mynode; in nocb_gp_wait()
832 trace_rcu_this_gp(rnp, my_rdp, wait_gp_seq, TPS("StartWait")); in nocb_gp_wait()
836 !READ_ONCE(my_rdp->nocb_gp_sleep)); in nocb_gp_wait()
837 trace_rcu_this_gp(rnp, my_rdp, wait_gp_seq, TPS("EndWait")); in nocb_gp_wait()
841 raw_spin_lock_irqsave(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
843 rdp_toggling = my_rdp->nocb_toggling_rdp; in nocb_gp_wait()
845 my_rdp->nocb_toggling_rdp = NULL; in nocb_gp_wait()
847 if (my_rdp->nocb_defer_wakeup > RCU_NOCB_WAKE_NOT) { in nocb_gp_wait()
848 WRITE_ONCE(my_rdp->nocb_defer_wakeup, RCU_NOCB_WAKE_NOT); in nocb_gp_wait()
849 del_timer(&my_rdp->nocb_timer); in nocb_gp_wait()
851 WRITE_ONCE(my_rdp->nocb_gp_sleep, true); in nocb_gp_wait()
852 raw_spin_unlock_irqrestore(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
854 rdp_toggling = READ_ONCE(my_rdp->nocb_toggling_rdp); in nocb_gp_wait()
863 raw_spin_lock_irqsave(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
864 my_rdp->nocb_toggling_rdp = NULL; in nocb_gp_wait()
865 raw_spin_unlock_irqrestore(&my_rdp->nocb_gp_lock, flags); in nocb_gp_wait()
875 list_add_tail(&rdp_toggling->nocb_entry_rdp, &my_rdp->nocb_head_rdp); in nocb_gp_wait()
882 my_rdp->nocb_gp_seq = -1; in nocb_gp_wait()