Re: [patch 1/3] mm: memcontrol: lockless page counters

Johannes Weiner
2014-10-14T16:34:03Z

On Tue, Oct 14, 2014 at 05:56:47PM +0200, Michal Hocko wrote:
> On Mon 13-10-14 21:46:01, Johannes Weiner wrote:
> > Memory is internally accounted in bytes, using spinlock-protected
> > 64-bit counters, even though the smallest accounting delta is a page.
> > The counter interface is also convoluted and does too many things.
> >
> > Introduce a new lockless word-sized page counter API, then change all
> > memory accounting over to it. The translation from and to bytes then
> > only happens when interfacing with userspace.
> >
> > The removed locking overhead is noticable when scaling beyond the
> > per-cpu charge caches - on a 4-socket machine with 144-threads, the
> > following test shows the performance differences of 288 memcgs
> > concurrently running a page fault benchmark:
>
> I assume you had root.use_hierarchy = 1, right? Processes wouldn't bounce
> on the same lock otherwise.

Yep. That's already the default on most distros, and will be in the
kernel in unified hierarchy.

> > Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
>
> You have only missed MAINTAINERS...

Hm, we can add it, but then again scripts/get_maintainer.pl should
already do the right thing. I find myself using it with --git all the
time to find the people that actually worked on the code recently, not
just the ones listed in there - which might be stale information.

> Acked-by: Michal Hocko <mhocko@suse.cz>

Thank you, Michal!