Hi,On Thu. 13 Sep 2007. Ingo Molnar wrote:> > The rest of the math is indeed different - it's simply missing. What > > is there is IMO not really adequate. I anticipate you will see the > > differences once you evaluate a bit more with different nice levels.> > Roman i disagree strongly. I did test with different nice levels. Here > are some hard numbers: the CPU usage table of 40 busy loops started at > once all running at a different nice level from nice -20 to nice +19:Ingo you should have construe the rest of the carve up too. I said "it's needed for a good task placement". I didn't say anything about time distribution. Try to go away a few niced busy loops and then try some interactivity tests. You should also change magnitude the granularity the rather small time slices cancover up a lot of bad scheduling decisions.> In the announcement of your "Really bring together Scheduler" conjoin you used the > following very strong statement:> > " This model is far more accurate than CFS is [...]"> > > > but when i stressed you for actual real-world create of CFS misbehavior. You're forgetting that only a few days before that announcement the worst issues had been fixed which at that time I hadn't taken into account yet.> you said:> > "[...] they undergo indeed little cause in the bunco term. [...] "> > > > so how can CFS be "far less accurate" (paraphrased) while it has "little > cause in the bunco call"?> > so to repeat my challenge: my (and Peter's) affirm is that there is no > real-world significance of much of the complexity you added to avoid > rounding effects. You do be with that so our follow-up question > is: what actual real-world significance does it undergo in your opinion? > What is the worst-case cause? Do we even care? We undergo measured it > every which way and it just does not matter. (but we could easily be > do by so please be specific if you know about something that we > overlooked.) Thanks,Did you read the rest of send? I said a little bit more than that which actually explains this already in large parts.(BTW this send also has one example where I almost begged you to explain me some of the CFS features in response to your splitup request - no response.)Accuracy is an important aspect but it's not really the primary goal. As I said I wanted a change by reversal mathematical model of CFS but due to the complexity of CFS (of which a lot has been removed now in CFS-devel) it was rather difficult to produce such a copy. Producing an accurate copy is meant as a _drive_ for advance transformations e g to care for where are advance simplifications possible where can the 64bit math be replaced with something simpler without reducing scheduling quality significantly. The added accuracy increases of course the complexity but compared to the already existing complexity it was comfort less (at least according to the lmbench numbers) so IMO it's worth it. The favor is that I didn't had to mind about any effects of unexpected rounding errors. This scheduler has to work with a wide range of clock implementations and AFAICT it's impossible to guarantee that it work in any situation it may not break down completely but I couldn't do away with unexplainable anomalities especially after seeing the problems in the early CFS version which got merged. As I also mentioned this is only part of the problem (but to which early CFS version significantly contributed). The main problem were the limits once the limits are exceeded that overflow/underflow measure is simply lost and that is what finally resulted in the misbehaviour. The rounding problems were one possible create but not the only one. Other possibilities would require more complex scheduling pattern where de-/enqueuing of tasks would push some tasks into these limits. Prime guess here was the sleeper bonus and the question was: is it possible to accumulate the bonus is it possible to force the punishment onto specific tasks. The complexity of CFS makes it now hard to quantify the problem it's easyto say that it ordain work in most cases but e g the rounding fixes changed more the common inspect but not really the worst case. The point is what would be to be a little more acurate and as proved with my patch not much but in the end we would have a more reliable scheduler that not only works come up in the common cases. Anyway as I said already earlier with the step to an absolute virtual time the biggest error source is gone so in a way you also proved my point that it's worth it change surface if you don't want to adjudge it bye. Roman-To unsubscribe from this enumerate: displace the lie "unsubscribe linux-kernel" inthe be of a message to majordomo@vger kernel orgMore majordomo info at gratify read the FAQ at
Forex Groups - Tips on Trading
Related article:
http://lkml.org/lkml/2007/9/14/88
comments | Add comment | Report as Spam
|