Messages in this thread | | | Date | Tue, 17 Feb 2009 08:35:26 +0530 | From | Balbir Singh <> | Subject | Re: [RFC][PATCH 0/4] Memory controller soft limit patches (v2) |
| |
* KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2009-02-17 09:05:23]:
> On Mon, 16 Feb 2009 16:38:44 +0530 > Balbir Singh <balbir@linux.vnet.ibm.com> wrote: > > > > > From: Balbir Singh <balbir@linux.vnet.ibm.com> > > > > Changelog v2...v1 > > 1. Soft limits now support hierarchies > > 2. Use spinlocks instead of mutexes for synchronization of the RB tree > > > > Here is v2 of the new soft limit implementation. Soft limits is a new feature > > for the memory resource controller, something similar has existed in the > > group scheduler in the form of shares. The CPU controllers interpretation > > of shares is very different though. We'll compare shares and soft limits > > below. > > > > Soft limits are the most useful feature to have for environments where > > the administrator wants to overcommit the system, such that only on memory > > contention do the limits become active. The current soft limits implementation > > provides a soft_limit_in_bytes interface for the memory controller and not > > for memory+swap controller. The implementation maintains an RB-Tree of groups > > that exceed their soft limit and starts reclaiming from the group that > > exceeds this limit by the maximum amount. > > > > This is an RFC implementation and is not meant for inclusion > > > > some thoughts after reading patch. > > 1. As I pointed out, cpuset/mempolicy case is not handled yet.
That should be esy to do with zonelists passed from reclaim path
> 2. I don't like to change usual direct-memory-reclaim path. It will be obstacles > for VM-maintaners to improve memory reclaim. memcg's LRU is designed for > shrinking memory usage and not for avoiding memory shortage. IOW, it's slow routine > for reclaiming memory for memory shortage.
I don't think I agree here. Direct reclaim is the first indication of shortage and if order 0 pages are short, memcg's above their soft limit can be targetted first.
> 3. After this patch, res_counter is no longer for general purpose res_counter... > It seems to have too many unnecessary accessories for general purpose.
Why not? Soft limits are a feature of any controller. The return of highest ancestor might be the only policy we impose right now. But as new controllers start using res_counter, we can clearly add a policy callback.
> 4. please use css_tryget() rather than mem_cgroup_get().
OK, will do
> 5. please remove mem_cgroup from tree at force_empty or rmdir. > Just making memcg->on_tree=false is enough ? I'm in doubt.
force_empty will cause uncharge and we handle it there, but I can add an explicit call there as well.
> 6. What happens when the-largest-soft-limit-memcg has tons on Anon on swapless > system and memory reclaim cannot make enough progress ?
The samething that would happen on regular reclaim, one needs to decide whether to oom or not from this context for memcg's.
-- Balbir
| |