usched
KKASSERT(item != usched);
if (usched->usched_register)
usched->usched_register();
TAILQ_INSERT_TAIL(&usched_list, usched, entry);
if (strcmp(usched->name, "bsd4") == 0) {
if (item == usched)
struct usched *item;
struct usched *item; /* temporaly for TAILQ processing */
static TAILQ_HEAD(, usched) usched_list = TAILQ_HEAD_INITIALIZER(usched_list);
struct usched *
usched_ctl(struct usched *usched, int action)
struct usched *item; /* temporaly for TAILQ processing */
struct usched usched_bsd4 = {
KTR_INFO_MASTER_EXTERN(usched);
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_acquire_curproc_urw, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_acquire_curproc_before_loop, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_acquire_curproc_not, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_acquire_curproc_switch, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_release_curproc, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_select_curproc, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, batchy_test_false, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, batchy_test_true, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_setrunqueue_fc_smt, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_setrunqueue_fc_non_smt, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_setrunqueue_rc, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_setrunqueue_found, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_setrunqueue_not_found, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_setrunqueue_found_best_cpuid, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, bsd4_chooseproc, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, chooseproc_cc, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, chooseproc_cc_not_good, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, chooseproc_cc_elected, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, sched_thread_no_process, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, sched_thread_process, 0,
KTR_INFO(KTR_USCHED_BSD4, usched, sched_thread_no_process_found, 0,
KTR_INFO_MASTER(usched);
KTR_INFO(KTR_USCHED_DFLY, usched, chooseproc, 0,
struct usched usched_dfly = {
struct usched usched_dummy = {
struct usched *p_usched; /* Userland scheduling control */
extern struct usched usched_bsd4;
extern struct usched usched_dfly;
extern struct usched usched_dummy;
int usched_ctl(struct usched *, int);
struct usched *usched_init(void);
TAILQ_ENTRY(usched) entry;
void (*setcpumask)(struct usched *, cpumask_t);