[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1216042637.12595.76.camel@twins>
Date: Mon, 14 Jul 2008 15:37:17 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: YAMAMOTO Takashi <yamamoto@...inux.co.jp>
Cc: linux-kernel@...r.kernel.org,
containers@...ts.linux-foundation.org, menage@...gle.com,
kamezawa.hiroyu@...fujitsu.com, linux-mm <linux-mm@...ck.org>
Subject: Re: [PATCH][RFC] dirty balancing for cgroups
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@...inux.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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists