On Wed, 2008-07-09 at 15:00 +0900, YAMAMOTO Takashi wrote:
> hi,
> 
> the following patch is a simple implementation of
> dirty balancing for cgroups.  any comments?
> 
> it depends on the following fix:
>       http://lkml.org/lkml/2008/7/8/428
> 
> YAMAMOTO Takashi
> 
> 
> Signed-off-by: YAMAMOTO Takashi <[EMAIL PROTECTED]>
> ---

Yamamoto-san,

> @@ -408,7 +412,11 @@ get_dirty_limits(long *pbackground, long *pdirty, long 
> *pbdi_dirty,
>  
>               *pbdi_dirty = bdi_dirty;
>               clip_bdi_dirty_limit(bdi, dirty, pbdi_dirty);
> -             task_dirty_limit(current, pbdi_dirty);
> +             task_dirty = *pbdi_dirty;
> +             task_dirty_limit(current, &task_dirty);
> +             cgroup_dirty = *pbdi_dirty;
> +             memdirtylimitcgroup_dirty_limit(current, &cgroup_dirty);
> +             *pbdi_dirty = min(task_dirty, cgroup_dirty);
>       }
>  }

I think this is wrong - is basically breaks task dirty throttling within
groups. You'd need a multiplicative operation, something like:

  bdi_dirty = dirty * p(bdi) * p(cgroup) * (1 - p(task))

However then we still have problems... see the next email further down
the thread.

_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to