]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/sched_dualq.c
xnu-4570.41.2.tar.gz
[apple/xnu.git] / osfmk / kern / sched_dualq.c
index 48ff5a038e509f680b27e9c8a08e4552aea6dda3..f465d803e19d11165fb4c00c188fe9ae4af9f02c 100644 (file)
@@ -126,6 +126,20 @@ const struct sched_dispatch_table sched_dualq_dispatch = {
        .direct_dispatch_to_idle_processors             = FALSE,
        .multiple_psets_enabled                         = TRUE,
        .sched_groups_enabled                           = FALSE,
+       .avoid_processor_enabled                        = FALSE,
+       .thread_avoid_processor                         = NULL,
+       .processor_balance                              = sched_SMT_balance,
+
+       .rt_runq                                        = sched_rtglobal_runq,
+       .rt_init                                        = sched_rtglobal_init,
+       .rt_queue_shutdown                              = sched_rtglobal_queue_shutdown,
+       .rt_runq_scan                                   = sched_rtglobal_runq_scan,
+       .rt_runq_count_sum                              = sched_rtglobal_runq_count_sum,
+
+       .qos_max_parallelism                            = sched_qos_max_parallelism,
+       .check_spill                                    = sched_check_spill,
+       .ipi_policy                                     = sched_ipi_policy,
+       .thread_should_yield                            = sched_thread_should_yield,
 };
 
 __attribute__((always_inline))
@@ -271,9 +285,6 @@ sched_dualq_processor_queue_has_priority(processor_t    processor,
        run_queue_t main_runq  = dualq_main_runq(processor);
        run_queue_t bound_runq = dualq_bound_runq(processor);
 
-       if (main_runq->count == 0 && bound_runq->count == 0)
-               return FALSE;
-
        int qpri = MAX(main_runq->highq, bound_runq->highq);
 
        if (gte)