Its actually more important when you have smaller timeslices, because
the interactive task is more likely to use all of its timeslice in a
burst of activity, then getting stuck behind all the cpu hogs.
Well, I didn't claim it'd be optimal, I just said that it's not worth the
extra effort. The interactive task will still finish in O((interactive_time
/ timeslice) * #hogs + interative_time) ms. As long as the cpu time
interactive tasks require are very short, they still should finish within a
reasonable amount of time.
Yes. Also, say 5 hogs running, an interactive task needs to do something
taking 2ms. At a 2ms timeslice, it will take 2ms. At a 1ms timeslice it
will take 6ms.
That's assuming that the interactive task gets scheduled first. In the
worst case scenario where it gets scheduled last, at 2 ms, it takes 12 ms
and at 1 ms it also takes 12 ms. Not much difference there.