Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/main/kinit.c

    rabf6c01 rbab75df6  
    7979#include <synch/waitq.h>
    8080#include <synch/spinlock.h>
     81#include <synch/workqueue.h>
     82#include <synch/rcu.h>
    8183
    8284#define ALIVE_CHARS  4
     
    107109
    108110        interrupts_disable();
     111
     112        /* Start processing RCU callbacks. RCU is fully functional afterwards. */
     113        rcu_kinit_init();
     114
     115        /*
     116         * Start processing work queue items. Some may have been queued during boot.
     117         */
     118        workq_global_worker_init();
    109119
    110120#ifdef CONFIG_SMP
     
    120130                thread = thread_create(kmp, NULL, TASK,
    121131                    THREAD_FLAG_UNCOUNTED, "kmp");
    122                 if (!thread)
     132                if (thread != NULL) {
     133                        thread_wire(thread, &cpus[0]);
     134                        thread_ready(thread);
     135                } else
    123136                        panic("Unable to create kmp thread.");
    124137
    125                 thread_wire(thread, &cpus[0]);
    126                 thread_ready(thread);
    127138                thread_join(thread);
    128139                thread_detach(thread);
Note: See TracChangeset for help on using the changeset viewer.