On Mon, 13 Feb 2006 20:03:45 +0530 Srivatsa Vaddagiri <[EMAIL PROTECTED]> wrote:
> > +void cpu_rc_collect_hunger(task_t *tsk) > > +{ > > [snip] > > > + if (CPU_RC_GUAR_SCALE * tsk->last_slice / (wait + tsk->last_slice) > > + < cr->guarantee / cr->rcd->numcpus) > ^^^^^^^^^^^^^^^^^^ > > Debugging it a bit indicated that the division of cr->guarantee by > cr->rcd->numcpus in cpu_rc_collect_hunger doesn't seem to be required (since > LHS is not on global scale and also the class's tasks may not be running > on other CPUs as in case 2). Removing the division rectified CPU sharing > anomaly I had found. > > Let me know what you think of this fix! Ah, you are right. LHS is on per-cpu scale. I'll apply your patch. > --- kernel/cpu_rc.c.org 2006-02-11 08:44:38.000000000 +0530 > +++ kernel/cpu_rc.c 2006-02-13 18:34:30.000000000 +0530 > @@ -204,7 +204,7 @@ void cpu_rc_collect_hunger(task_t *tsk) > > wait = jiffies - tsk->last_activated; > if (CPU_RC_GUAR_SCALE * tsk->last_slice / (wait + tsk->last_slice) > - < cr->guarantee / cr->rcd->numcpus) > + < cr->guarantee) > cr->stat[cpu].maybe_hungry++; > > tsk->last_activated = 0; Thanks, -- KUROSAWA, Takahiro ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ ckrm-tech mailing list https://lists.sourceforge.net/lists/listinfo/ckrm-tech