Messages in this thread | | | Date | Tue, 8 Jul 2014 18:19:06 -0400 | From | Johannes Weiner <> | Subject | Re: [PATCH -mm 0/8] memcg: reparent kmem on css offline |
| |
On Mon, Jul 07, 2014 at 09:14:15PM +0400, Vladimir Davydov wrote: > 07.07.2014 18:25, Johannes Weiner: > >In addition, Tejun made offlined css iterable and split css_tryget() > >and css_tryget_online(), which would allow memcg to pin the css until > >the last charge is gone while continuing to iterate and reclaim it on > >hierarchical pressure, even after it was offlined. > > One more question. > > With reparenting enabled, the number of cgroups (lruvecs) that must be > iterated on global reclaim is bound by the number of live containers, > while w/o reparenting it's practically unbound, isn't it? Won't it be > the source of latency spikes?
It might deteriorate a little bit, but it is a self-correcting problem as soon as memory pressure kicks. Creating and destroying cgroups is serialized at a global level, so I would expect the cost of doing that at a high rate to become a problem before the csss become an issue for the reclaim scanner.
At some point we will probably have to make the global reclaim cgroup walk in shrink_zone() intermittent, but I'm not aware of any problems with it so far.
| |