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

Reply via email to