• Ingo Molnar's avatar
    · 38432d05
    Ingo Molnar authored
    - new, less intrusive and faster migration method:
    
    /*
     * This is how migration works:
     *
     * 1) we queue a migration_req_t structure in the source CPU's
     *    runqueue and wake up that CPU's migration thread.
     * 2) we down() the locked semaphore => thread blocks.
     * 3) migration thread wakes up (implicitly it forces the migrated
     *    thread off the CPU)
     * 4) it gets the migration request and checks whether the migrated
     *    task is still in the wrong runqueue.
     * 5) if it's in the wrong runqueue then the migration thread removes
     *    it and puts it into the right queue.
     * 6) migration thread up()s the semaphore.
     * 7) we wake up and the migration is done.
     */
    38432d05
sched.c 39.1 KB