runq
static inline uintptr_t runq_sw_apply(struct runq *rq, int idx,
static inline void runq_sw_set_not_empty(struct runq *rq, int idx);
static inline void runq_sw_set_empty(struct runq *rq, int idx);
static inline bool runq_sw_is_empty(struct runq *rq, int idx);
runq_init(struct runq *rq)
runq_sw_apply(struct runq *rq, int idx, runq_sw_op *op)
runq_sw_set_not_empty(struct runq *rq, int idx)
runq_sw_set_empty(struct runq *rq, int idx)
runq_sw_is_empty(struct runq *rq, int idx)
runq_is_queue_empty(struct runq *rq, int idx)
runq_add(struct runq *rq, struct thread *td, int flags)
runq_add_idx(struct runq *rq, struct thread *td, int idx, int flags)
runq_remove(struct runq *rq, struct thread *td)
runq_findq_status_word(struct runq *const rq, const int w_idx,
runq_findq(struct runq *const rq, const int lvl_min, const int lvl_max,
runq_first_thread_range(struct runq *const rq, const int lvl_min,
runq_first_thread(struct runq *const rq)
runq_not_empty(struct runq *rq)
runq_choose(struct runq *rq)
runq_choose_fuzz(struct runq *rq, int fuzz)
struct runq *runq;
runq = &runq_global;
runq = DPCPU_PTR(runq_pcpu);
runq = &runq_global;
runq_remove(runq, td);
static struct runq runq_global;
DPCPU_DEFINE_STATIC(struct runq, runq_pcpu);
runq_steal_range(struct runq *const rq, const int lvl_min, const int lvl_max,
runq_steal_realtime(struct runq *const rq, int cpu)
runq_steal_timeshare(struct runq *const rq, int cpu, int off)
runq_steal_idle(struct runq *const rq, int cpu)
runq_choose_realtime(struct runq *const rq)
runq_choose_timeshare(struct runq *const rq, int off)
runq_choose_idle(struct runq *const rq)
struct runq tdq_runq; /* (t) Run queue. */
static inline struct thread *runq_choose_realtime(struct runq *const rq);
static inline struct thread *runq_choose_timeshare(struct runq *const rq,
static inline struct thread *runq_choose_idle(struct runq *const rq);
static void runq_print(struct runq *rq);
static inline struct thread *runq_steal_range(struct runq *const rq,
static inline struct thread *runq_steal_realtime(struct runq *const rq,
static inline struct thread *runq_steal_timeshare(struct runq *const rq,
static inline struct thread *runq_steal_idle(struct runq *const rq,
runq_print(struct runq *rq)
void runq_init(struct runq *);
bool runq_is_queue_empty(struct runq *, int _idx);
void runq_add(struct runq *, struct thread *, int _flags);
void runq_add_idx(struct runq *, struct thread *, int _idx, int _flags);
bool runq_remove(struct runq *, struct thread *);
int runq_findq(struct runq *const rq, const int lvl_min,
struct thread *runq_first_thread_range(struct runq *const rq,
bool runq_not_empty(struct runq *);
struct thread *runq_choose(struct runq *);
struct thread *runq_choose_fuzz(struct runq *, int _fuzz);