Lines Matching refs:tracker
687 smr_enter_sleepable(smr_t smr, smr_tracker_t tracker) in smr_enter_sleepable() argument
701 tracker->smrt_domain = smr; in smr_enter_sleepable()
702 tracker->smrt_seq = __smr_enter(smr, pcpu, SMR_SEQ_SLEEPABLE); in smr_enter_sleepable()
703 smrq_serialized_insert_head_relaxed(&smrw->sect_queue, &tracker->smrt_link); in smr_enter_sleepable()
704 smrq_serialized_insert_head_relaxed(&self->smr_stack, &tracker->smrt_stack); in smr_enter_sleepable()
705 tracker->smrt_ctid = 0; in smr_enter_sleepable()
706 tracker->smrt_cpu = -1; in smr_enter_sleepable()
789 __smr_leave_stalled(smr_t smr, smr_tracker_t tracker, thread_t self) in __smr_leave_stalled() argument
796 pcpu = __smr_pcpu(smr, tracker->smrt_cpu); in __smr_leave_stalled()
801 struct smr_tracker, smrt_link) == tracker; in __smr_leave_stalled()
803 smrq_serialized_remove(&self->smr_stack, &tracker->smrt_stack); in __smr_leave_stalled()
804 smrq_serialized_remove(&pcpu->stall_queue, &tracker->smrt_link); in __smr_leave_stalled()
805 bzero(tracker, sizeof(*tracker)); in __smr_leave_stalled()
850 smr_leave_sleepable(smr_t smr, smr_tracker_t tracker) in smr_leave_sleepable() argument
855 assert(tracker->smrt_seq != SMR_SEQ_INVALID); in smr_leave_sleepable()
862 if (__improbable(tracker->smrt_cpu != -1)) { in smr_leave_sleepable()
863 return __smr_leave_stalled(smr, tracker, self); in smr_leave_sleepable()
869 smrq_serialized_remove(&self->smr_stack, &tracker->smrt_stack); in smr_leave_sleepable()
870 smrq_serialized_remove(&smrw->sect_queue, &tracker->smrt_link); in smr_leave_sleepable()
871 bzero(tracker, sizeof(*tracker)); in smr_leave_sleepable()