Lines Matching refs:dopers

1272 	 * Initialize the domain op (dopers) stuff.
2843 if (idn.dopers)
2846 idn.dopers = GETSTRUCT(struct dopers, 1);
2848 bzero(idn.dopers, sizeof (struct dopers));
2850 dwl = &idn.dopers->_dop_wcache[0];
2855 idn.dopers->dop_freelist = &idn.dopers->_dop_wcache[0];
2856 idn.dopers->dop_waitcount = 0;
2857 idn.dopers->dop_domset = 0;
2858 idn.dopers->dop_waitlist = NULL;
2860 cv_init(&idn.dopers->dop_cv, NULL, CV_DEFAULT, NULL);
2861 mutex_init(&idn.dopers->dop_mutex, NULL, MUTEX_DEFAULT, NULL);
2870 if (idn.dopers == NULL)
2873 for (dwl = idn.dopers->dop_waitlist; dwl; dwl = next_dwl) {
2879 cv_destroy(&idn.dopers->dop_cv);
2880 mutex_destroy(&idn.dopers->dop_mutex);
2882 FREESTRUCT(idn.dopers, struct dopers, 1);
2883 idn.dopers = NULL;
2899 mutex_enter(&idn.dopers->dop_mutex);
2900 if ((dwl = idn.dopers->dop_freelist) == NULL) {
2903 idn.dopers->dop_freelist = dwl->dw_next;
2909 dwl->dw_next = idn.dopers->dop_waitlist;
2911 idn.dopers->dop_waitlist = dwl;
2912 idn.dopers->dop_waitcount++;
2913 idn.dopers->dop_domset |= domset;
2914 mutex_exit(&idn.dopers->dop_mutex);
2932 mutex_enter(&idn.dopers->dop_mutex);
2933 if ((idn.dopers->dop_waitcount == 0) ||
2934 ((idn.dopers->dop_domset & domset) == 0)) {
2935 mutex_exit(&idn.dopers->dop_mutex);
2938 for (dwl = idn.dopers->dop_waitlist; dwl; dwl = dwl->dw_next)
2941 mutex_exit(&idn.dopers->dop_mutex);
2956 mutex_enter(&idn.dopers->dop_mutex);
2962 if ((idn.dopers->dop_waitcount == 0) ||
2963 ((idn.dopers->dop_domset & domset) == 0)) {
2964 mutex_exit(&idn.dopers->dop_mutex);
2970 for (dw = idn.dopers->dop_waitlist; dw; dw = dw->dw_next) {
3006 cv_broadcast(&idn.dopers->dop_cv);
3008 mutex_exit(&idn.dopers->dop_mutex);
3018 mutex_enter(&idn.dopers->dop_mutex);
3020 ASSERT(idn.dopers->dop_waitlist);
3022 if (dwl == idn.dopers->dop_waitlist) {
3023 idn.dopers->dop_waitlist = dwl->dw_next;
3025 dwl->dw_next = idn.dopers->dop_freelist;
3026 idn.dopers->dop_freelist = dwl;
3031 for (tw = idn.dopers->dop_waitlist, hw = tw->dw_next;
3049 for (hw = idn.dopers->dop_waitlist, domset = 0; hw; hw = hw->dw_next)
3052 idn.dopers->dop_waitcount--;
3053 idn.dopers->dop_domset = domset;
3055 mutex_exit(&idn.dopers->dop_mutex);
3081 mutex_enter(&idn.dopers->dop_mutex);
3084 rv = cv_reltimedwait_sig(&idn.dopers->dop_cv,
3085 &idn.dopers->dop_mutex, (wait_timeout * hz), TR_CLOCK_TICK);
3124 mutex_exit(&idn.dopers->dop_mutex);