login
Header Space

 
 

Re: Memory controller merge (was Re: -mm merge plans for 2.6.24)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Balbir Singh <balbir@...>
Cc: Andrew Morton <akpm@...>, Pavel Emelianov <xemul@...>, <linux-kernel@...>, <linux-mm@...>
Date: Thursday, October 4, 2007 - 9:16 am

On Thu, 4 Oct 2007, Balbir Singh wrote:

Sounds too inflexible, and too many swap areas to me.  Perhaps the
right answer will fall in between: assign clusters of swap pages to
different cgroups as needed.  But worry about that some other time.


Thinking particularly of those brought in by swapoff or swap readahead:
some will get attached to mms once accessed, others will simply get
freed when tasks exit or munmap, others will hang around until they
reach the bottom of the LRU and are reclaimed again by memory pressure.

But as your code stands, that'll be total memory pressure: in-cgroup
memory pressure will tend to miss them, since typically they're
assigned to the wrong cgroup; until then their presence is liable
to cause other pages to be reclaimed which ideally should not be.


ramfs pages are always in RAM, never go out to swap, no need to
worry about them in this regard.  But tmpfs pages can indeed go
out to swap, so whatever we come up with needs to make sense
with them too, yes.  I don't think its swapoff/readahead issues
are any harder to handle than the anonymous mapped page case,
but it will need its own code to handle them.


That's where it should happen, yes; but my point is that it very
often does not.  Because the swap cache page (read in as part of
the readaround cluster of some other cgroup, or in swapoff by some
other cgroup) is already assigned to that other cgroup (by the
mem_cgroup_cache_charge in __add_to_swap_cache), and so goes "The
page_cgroup exists and the page has already been accounted" route
when mem_cgroup_charge is called from do_swap_page.  Doesn't it?

Are we misunderstanding each other, because I'm assuming
MEM_CGROUP_TYPE_ALL and you're assuming MEM_CGROUP_TYPE_MAPPED?
though I can't see that _MAPPED and _CACHED are actually supported,
there being no reference to them outside the enum that defines them.

Or are you deceived by that ifdef NUMA code in swapin_readahead,
which propagates the fantasy that swap allocation follows vma layout?
That nonsense has been around too long, I'll soon be sending a patch
to remove it.


No, because they're (in general) booked to the wrong cgroup.


Okay, thanks.

Hugh
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
-mm merge plans for 2.6.24, Andrew Morton, (Mon Oct 1, 5:22 pm)
new aops merge [was Re: -mm merge plans for 2.6.24], Hugh Dickins, (Tue Oct 2, 12:21 pm)
x86 patches was Re: -mm merge plans for 2.6.24, Andi Kleen, (Tue Oct 2, 2:18 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Andrew Morton, (Tue Oct 2, 2:32 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Ingo Molnar, (Tue Oct 2, 3:37 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Andi Kleen, (Tue Oct 2, 3:46 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Thomas Gleixner, (Tue Oct 2, 3:58 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Andi Kleen, (Tue Oct 2, 3:01 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Andy Whitcroft, (Tue Oct 2, 5:26 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Andrew Morton, (Tue Oct 2, 3:18 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, KAMEZAWA Hiroyuki, (Tue Oct 2, 3:36 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Christoph Lameter, (Tue Oct 2, 2:16 pm)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Nish Aravamudan, (Tue Oct 2, 12:40 pm)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Andrew Morton, (Tue Oct 2, 3:43 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, KAMEZAWA Hiroyuki, (Tue Oct 2, 4:16 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Christoph Lameter, (Tue Oct 2, 2:18 pm)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Yasunori Goto, (Tue Oct 2, 6:48 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Lee Schermerhorn, (Tue Oct 2, 1:25 pm)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Lee Schermerhorn, (Tue Oct 2, 1:17 pm)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Matt Mackall, (Tue Oct 2, 3:55 am)
Re: x86 patches was Re: -mm merge plans for 2.6.24, Andi Kleen, (Tue Oct 2, 3:59 am)
Re: -mm merge plans for 2.6.24, Pekka Enberg, (Tue Oct 2, 12:12 pm)
v4l-stk11xx* [Was: -mm merge plans for 2.6.24], Jiri Slaby, (Tue Oct 2, 3:59 am)
Re: Memory controller merge (was Re: -mm merge plans for 2.6..., Hugh Dickins, (Thu Oct 4, 9:16 am)
writeback fixes, Fengguang Wu, (Tue Oct 2, 4:39 am)
Re: -mm merge plans for 2.6.24, Borislav Petkov, (Sat Oct 13, 4:44 am)
Re: -mm merge plans for 2.6.24, Andrew Morton, (Sat Oct 13, 4:52 am)
Re: -mm merge plans for 2.6.24, Borislav Petkov, (Sat Oct 13, 7:45 am)
r/o bind mounts, was Re: -mm merge plans for 2.6.24, Christoph Hellwig, (Tue Oct 9, 5:19 am)
Re: remove zero_page (was Re: -mm merge plans for 2.6.24), Linus Torvalds, (Wed Oct 3, 11:21 am)
Re: remove zero_page (was Re: -mm merge plans for 2.6.24), Linus Torvalds, (Tue Oct 9, 10:52 am)
Re: remove zero_page (was Re: -mm merge plans for 2.6.24), Linus Torvalds, (Tue Oct 9, 10:22 pm)
Re: remove zero_page (was Re: -mm merge plans for 2.6.24), Hugh Dickins, (Wed Oct 10, 12:06 am)
Re: remove zero_page (was Re: -mm merge plans for 2.6.24), Linus Torvalds, (Wed Oct 10, 1:20 am)
Re: remove zero_page (was Re: -mm merge plans for 2.6.24), Linus Torvalds, (Wed Oct 10, 11:04 am)
Re: remove zero_page (was Re: -mm merge plans for 2.6.24), Linus Torvalds, (Tue Oct 9, 11:06 pm)
wibbling over the cpuset shed domain connnection, Paul Jackson, (Mon Oct 1, 5:34 pm)
Re: wibbling over the cpuset shed domain connnection, Nick Piggin, (Tue Oct 2, 8:36 am)
Re: wibbling over the cpuset shed domain connnection, Paul Jackson, (Wed Oct 3, 1:21 am)
Re: wibbling over the cpuset shed domain connnection, Nick Piggin, (Tue Oct 2, 9:12 am)
Re: wibbling over the cpuset shed domain connnection, Paul Jackson, (Wed Oct 3, 3:00 am)
Re: wibbling over the cpuset shed domain connnection, Andrew Morton, (Wed Oct 3, 6:57 am)
per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Peter Zijlstra, (Tue Oct 2, 4:17 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Martin Knoblauch, (Wed Oct 3, 7:00 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Peter Zijlstra, (Fri Oct 26, 10:48 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Trond Myklebust, (Fri Oct 26, 12:37 pm)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Peter Zijlstra, (Fri Dec 14, 10:50 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Miklos Szeredi, (Fri Dec 14, 11:14 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Peter Zijlstra, (Fri Dec 14, 11:54 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Miklos Szeredi, (Fri Oct 26, 11:06 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Peter Zijlstra, (Fri Oct 26, 11:22 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Peter Zijlstra, (Fri Oct 26, 11:33 am)
[PATCH] mm: sysfs: expose the BDI object in sysfs, Peter Zijlstra, (Fri Nov 2, 10:59 am)
Re: [PATCH] mm: sysfs: expose the BDI object in sysfs, Kay Sievers, (Fri Nov 2, 11:13 am)
Re: per BDI dirty limit (was Re: -mm merge plans for 2.6.24), Peter Zijlstra, (Sat Oct 27, 12:07 pm)
speck-geostationary