Preemptive scheduling is the normal Linux way to schedule. Its a time slice based schedule where each process is given (N) amount of time to perform its task. If it does not complete it must wait untill the schedule comes back around to continue its run (like when something hangs for a second, or a window jiters when moving it). Of course depending upon your system you may find different algorithms in play. For instance real time system would use perhaps a rate monotonic algorithm to do scheduling.
I have yet to look closely at CFS but the buzz is on so it cannot be worse than whats been before. Perhaps it will even lead to the death of the real time linux Kernel (who's goal was also to provide efficient scheduling).
A Hangover Lasts A Day, But Our Drunken Memories Last A Lifetime
Linux user #349545