Thread (31 messages) 31 messages, 5 authors, 2015-02-12

Re: [RFC] Making memcg track ownership per address_space or anon_vma

From: Tejun Heo <tj@kernel.org>
Date: 2015-02-11 21:46:58
Also in: linux-mm, lkml

Hello,

On Thu, Feb 12, 2015 at 12:22:34AM +0300, Konstantin Khlebnikov wrote:
quoted
Yeah, available memory to the matching memcg and the number of dirty
pages in it.  It's gonna work the same way as the global case just
scoped to the cgroup.
That might be a problem: all dirty pages accounted to cgroup must be
reachable for its own personal writeback or balanace-drity-pages will be
unable to satisfy memcg dirty memory thresholds. I've done accounting
Yeah, it would.  Why wouldn't it?
for per-inode owner, but there is another option: shared inodes might be
handled differently and will be available for all (or related) cgroup
writebacks.
I'm not following you at all.  The only reason this scheme can work is
because we exclude persistent shared write cases.  As the whole thing
is based on that assumption, special casing shared inodes doesn't make
any sense.  Doing things like allowing all cgroups to write shared
inodes without getting memcg on-board almost immediately breaks
pressure propagation while making shared writes a lot more attractive
and increasing implementation complexity substantially.  Am I missing
something?
Another side is that reclaimer now (mosly?) never trigger pageout.
Memcg reclaimer should do something if it finds shared dirty page:
either move it into right cgroup or make that inode reachable for
memcg writeback. I've send patch which marks shared dirty inodes
with flag I_DIRTY_SHARED or so.
It *might* make sense for memcg to drop pages being dirtied which
don't match the currently associated blkcg of the inode; however,
again, as we're basically declaring that shared writes aren't
supported, I'm skeptical about the usefulness.

Thanks.

-- 
tejun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help