- new, less intrusive and faster migration method:
authorIngo Molnar <mingo@elte.hu>
Sat, 23 Feb 2002 20:36:00 +0000 (21:36 +0100)
committerIngo Molnar <mingo@elte.hu>
Sat, 23 Feb 2002 20:36:00 +0000 (21:36 +0100)
commit38432d0516cbbffae1278fa7dc2d317df885b289
treefe55fc4ee2f5f8d747c6ee2c60730591831cecdf
parenteac94688e46e081de1c3b516ee3595d5d8a7c400
- 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.
 */
include/linux/init_task.h
include/linux/sched.h
kernel/sched.c