Re: [patch 0/7] cpuset writeback throttling

From: KAMEZAWA Hiroyuki
Date: Tue Nov 04 2008 - 20:32:19 EST


On Tue, 4 Nov 2008 15:36:10 -0800
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Tue, 4 Nov 2008 16:52:48 -0600 (CST)
> Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > On Tue, 4 Nov 2008, Andrew Morton wrote:
> >
> > > To fix this with a memcg-based throttling, the operator would need to
> > > be able to create memcg's which have pages only from particular nodes.
> > > (That's a bit indirect relative to what they want to do, but is
> > > presumably workable).
> >
> > The system would need to have the capability to find the memcg groups that
> > have dirty pages for a certain inode. Files are not constrained to nodes
> > or memcg groups.
>
> Ah, we're talking about different things.
>
> In a memcg implementation what we would implement is "throttle
> page-dirtying tasks in this memcg when the memcg's dirty memory reaches
> 40% of its total".
>
yes. Andrea posted that.


> But that doesn't solve the problem which this patchset is trying to
> solve, which is "don't let all the memory in all this group of nodes
> get dirty".
>
yes. but this patch doesn't help the case you mentioned below.

>
> Yes? Someone help me out here. I don't yet have my head around the
> overlaps and incompatibilities here. Perhaps the containers guys will
> wake up and put their thinking caps on?
>
>
>
> What happens if cpuset A uses nodes 0,1,2,3,4,5,6,7,8,9 and cpuset B
> uses nodes 0,1? Can activity in cpuset A cause ooms in cpuset B?
>
For help this, per-node-dirty-ratio-throttoling is necessary.

Shouldn't we just have a new parameter as /proc/sys/vm/dirty_ratio_per_node.

/proc/sys/vm/dirty_ratio works for throttling the whole system dirty pages.
/proc/sys/vm/dirty_ratio_per_node works for throttling dirty pages in a node.

Implementation will not be difficult and works enough against OOM.

Thanks,
-Kame








--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/