You should really read and understand the code you are arguing about :-/
In the 2.6.22 scheduler, there was a p->time_slice per task variable
that could be manipulated. (Note, in 2.6.22's sched_yield() did not
manipulate p->time_slice.)
sysctl_sched_latency on the other hand is not something that is per task
(it is global) so there is no pending timeslice to be "cleared" as it
has been suggested naively.
Ingo
-