Lines Matching refs:flags

46 		uint16_t flags;  member
103 MPASS(os.flags == BUSY); in drain_ring_locked()
117 ns.flags = STALLED; in drain_ring_locked()
141 ns.flags = state_to_flags(ns, total >= budget); in drain_ring_locked()
144 if (ns.flags == ABDICATED) in drain_ring_locked()
146 if (ns.flags != BUSY) { in drain_ring_locked()
148 MPASS(ns.flags != STALLED); in drain_ring_locked()
177 MPASS(os.flags == BUSY); in drain_ring_lockless()
194 ns.flags = STALLED; in drain_ring_lockless()
222 ns.flags = state_to_flags(ns, total >= budget); in drain_ring_lockless()
227 if (ns.flags == ABDICATED) in drain_ring_lockless()
229 if (ns.flags != BUSY) { in drain_ring_lockless()
231 MPASS(ns.flags != STALLED); in drain_ring_lockless()
251 mp_ring_can_drain_t can_drain, struct malloc_type *mt, int flags) in ifmp_ring_alloc() argument
260 flags &= M_NOWAIT | M_WAITOK; in ifmp_ring_alloc()
261 MPASS(flags != 0); in ifmp_ring_alloc()
263 r = malloc(__offsetof(struct ifmp_ring, items[size]), mt, flags | M_ZERO); in ifmp_ring_alloc()
271 r->enqueues = counter_u64_alloc(flags); in ifmp_ring_alloc()
272 r->drops = counter_u64_alloc(flags); in ifmp_ring_alloc()
273 r->starts = counter_u64_alloc(flags); in ifmp_ring_alloc()
274 r->stalls = counter_u64_alloc(flags); in ifmp_ring_alloc()
275 r->restarts = counter_u64_alloc(flags); in ifmp_ring_alloc()
276 r->abdications = counter_u64_alloc(flags); in ifmp_ring_alloc()
338 MPASS(os.flags != IDLE); in ifmp_ring_enqueue()
340 if (os.flags == STALLED) in ifmp_ring_enqueue()
375 if (os.flags == IDLE) in ifmp_ring_enqueue()
376 ns.flags = ABDICATED; in ifmp_ring_enqueue()
378 ns.flags = BUSY; in ifmp_ring_enqueue()
387 if (os.flags != BUSY) in ifmp_ring_enqueue()
388 drain_ring_locked(r, ns, os.flags, budget); in ifmp_ring_enqueue()
413 MPASS(os.flags != IDLE); in ifmp_ring_enqueue()
414 if (os.flags == STALLED) in ifmp_ring_enqueue()
456 if (os.flags == IDLE) in ifmp_ring_enqueue()
457 ns.flags = ABDICATED; in ifmp_ring_enqueue()
459 ns.flags = BUSY; in ifmp_ring_enqueue()
469 if (os.flags != BUSY) in ifmp_ring_enqueue()
470 drain_ring_lockless(r, ns, os.flags, budget); in ifmp_ring_enqueue()
483 if ((os.flags != STALLED && os.flags != ABDICATED) || // Only continue in STALLED and ABDICATED in ifmp_ring_check_drainage()
485 (os.flags != ABDICATED && r->can_drain(r) == 0)) // Can either drain, or everyone left in ifmp_ring_check_drainage()
490 ns.flags = BUSY; in ifmp_ring_check_drainage()
499 drain_ring_locked(r, ns, os.flags, budget); in ifmp_ring_check_drainage()
509 drain_ring_lockless(r, ns, os.flags, budget); in ifmp_ring_check_drainage()
532 s.flags == IDLE) in ifmp_ring_is_idle()
544 if (s.pidx_head == s.pidx_tail && s.flags == STALLED) in ifmp_ring_is_stalled()