Linux Scheduler
There is a doc within the documentation directory which explains nicely and clearly
about the major purpose of the scheduler.
The new things in the new scheduler are :-
1. Fully O(1) scheduling
2. Perfect 'SMP' scalability
No big "run_queue" lock. All per CPU runqueues and locks.
3. Better SMP Affinity
No random bouncing of processes between CPUs if/when there is a higher priority/interactive
task.
4. Batch Scheduling
5. Handles Extreme load smoothly
6. O(1) RT Scheduling
7. Run forked children before parent.
My meanderings into the heart of Linux Kernel