lkml.org 
[lkml]   [2008]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH][RFC] dirty balancing for cgroups
    From
    Date
    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 <yamamoto@valinux.co.jp>
    > ---

    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.



    \
     
     \ /
      Last update: 2008-07-14 15:39    [W:0.022 / U:61.076 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site