LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: David Rientjes <rientjes@google.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
npiggin@suse.de, Christoph Lameter <cl@linux-foundation.org>,
dfults@sgi.com, linux-kernel@vger.kernel.org,
containers@lists.osdl.org, Paul Menage <menage@google.com>,
Andrea Righi <righi.andrea@gmail.com>
Subject: Re: [patch 0/7] cpuset writeback throttling
Date: Thu, 6 Nov 2008 12:35:03 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.00.0811061220370.7767@chino.kir.corp.google.com> (raw)
In-Reply-To: <20081106103455.f3277a72.kamezawa.hiroyu@jp.fujitsu.com>
On Thu, 6 Nov 2008, KAMEZAWA Hiroyuki wrote:
> > Agreed. This patchset is admittedly from a different time when cpusets
> > was the only relevant extension that needed to be done.
> >
> BTW, what is the problem this patch wants to fix ?
> 1. avoid slow-down of memory allocation by triggering write-out earlier.
> 2. avoid OOM by throttoling dirty pages.
>
> About 1, memcg's diry_ratio can help if mounted as
> mount -t cgroup none /somewhere/ -o cpuset,memory
> (If the user can accept overheads of memcg.)
> If implemented.
>
Yeah, it needs to be generalized to its own cgroup so that it doesn't
depend on both CONFIG_CPUSETS or CONFIG_CGROUP_MEM_RES_CTLR. If we get
the dirty and writeback page statistics added to memcg, this becomes much
simpler.
> About 2, A Google guy posted OOM handler cgroup to linux-mm.
>
Yeah, this could enable one of the workarounds that Christoph earlier
described: the oom handler has the ability to notify userspace and allows
it to defer invoking the oom killer if there's an alternative way to
remedy the situation. So the oom handler posted to linux-mm could work by
doing a sync anytime it ran low on memory, but the objective of this
patchset is different.
The idea here is to implement per-cpuset (and now per-memcg) dirty and
background dirty ratios to avoid using the global sysctls. This is
currently problematic for users of cpusets who divide their machine for
batches of tasks, usually for NUMA optimizations: a cpuset, for example,
can represent 40% of the system's memory and if the global dirty ratio is
set to 50%, we still won't begin writeback even if all the memory in the
cpuset is dirty.
> > If we are to support memcg-specific dirty ratios, that requires the
> > aforementioned statistics to be collected so that the calculation is even
> > possible. The series at
> >
> > http://marc.info/?l=linux-kernel&m=122123225006571
> > http://marc.info/?l=linux-kernel&m=122123241106902
> >
> yes. we(memcg) need this kind of.
>
Andrea, what's the status of the patch to add dirty and writeback
statistics to memcg? I don't see it in the October 30 mmotm or any
followup discussion on it.
> > is a step in that direction, although I'd prefer to see NR_UNSTABLE_NFS to
> > be extracted separately from MEM_CGROUP_STAT_FILE_DIRTY so
> > throttle_vm_writeout() can also use the new statistics.
> >
Is this possible in a second version?
prev parent reply other threads:[~2008-11-06 20:37 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-30 19:23 David Rientjes
2008-10-30 19:23 ` [patch 1/7] cpusets: add dirty map to struct address_space David Rientjes
2008-11-04 21:09 ` Andrew Morton
2008-11-04 21:20 ` Christoph Lameter
2008-11-04 21:42 ` Andrew Morton
2008-10-30 19:23 ` [patch 2/7] pdflush: allow the passing of a nodemask parameter David Rientjes
2008-10-30 19:23 ` [patch 3/7] mm: make page writeback obey cpuset constraints David Rientjes
2008-10-30 19:23 ` [patch 4/7] mm: cpuset aware reclaim writeout David Rientjes
2008-10-30 19:23 ` [patch 5/7] mm: throttle writeout with cpuset awareness David Rientjes
2008-10-30 19:23 ` [patch 6/7] cpusets: per cpuset dirty ratios David Rientjes
2008-10-30 19:23 ` [patch 7/7] cpusets: update documentation for writeback throttling David Rientjes
2008-10-30 21:08 ` [patch 0/7] cpuset " Dave Chinner
2008-10-30 21:33 ` Christoph Lameter
2008-10-30 22:03 ` Dave Chinner
2008-10-31 13:47 ` Christoph Lameter
2008-10-31 16:36 ` David Rientjes
2008-11-04 20:47 ` Andrew Morton
2008-11-04 20:53 ` Peter Zijlstra
2008-11-04 20:58 ` Christoph Lameter
2008-11-04 21:10 ` David Rientjes
2008-11-04 21:16 ` Andrew Morton
2008-11-04 21:21 ` Peter Zijlstra
2008-11-04 21:50 ` Andrew Morton
2008-11-04 22:17 ` Christoph Lameter
2008-11-04 22:35 ` Andrew Morton
2008-11-04 22:52 ` Christoph Lameter
2008-11-04 23:36 ` Andrew Morton
2008-11-05 1:31 ` KAMEZAWA Hiroyuki
2008-11-05 3:09 ` Andrew Morton
2008-11-05 2:45 ` Christoph Lameter
2008-11-05 3:05 ` Andrew Morton
2008-11-05 4:31 ` KAMEZAWA Hiroyuki
2008-11-10 9:02 ` Andrea Righi
2008-11-10 10:02 ` David Rientjes
2008-11-05 13:52 ` Christoph Lameter
2008-11-05 18:41 ` Andrew Morton
2008-11-05 20:21 ` Christoph Lameter
2008-11-05 20:31 ` Andrew Morton
2008-11-05 20:40 ` Christoph Lameter
2008-11-05 20:56 ` Andrew Morton
2008-11-05 21:28 ` Christoph Lameter
2008-11-05 21:55 ` Paul Menage
2008-11-05 22:04 ` David Rientjes
2008-11-06 1:34 ` KAMEZAWA Hiroyuki
2008-11-06 20:35 ` David Rientjes [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.00.0811061220370.7767@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=containers@lists.osdl.org \
--cc=dfults@sgi.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=menage@google.com \
--cc=npiggin@suse.de \
--cc=righi.andrea@gmail.com \
--subject='Re: [patch 0/7] cpuset writeback throttling' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).