Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933429AbdDFIth (ORCPT ); Thu, 6 Apr 2017 04:49:37 -0400 Received: from mail-lf0-f67.google.com ([209.85.215.67]:33768 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933352AbdDFIt3 (ORCPT ); Thu, 6 Apr 2017 04:49:29 -0400 Date: Thu, 6 Apr 2017 11:49:24 +0300 From: Vladimir Davydov To: Johannes Weiner Cc: Andrew Morton , Michal Hocko , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: Re: [PATCH 2/4] mm: memcontrol: re-use global VM event enum Message-ID: <20170406084923.GB2268@esperanza> References: <20170404220148.28338-1-hannes@cmpxchg.org> <20170404220148.28338-2-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170404220148.28338-2-hannes@cmpxchg.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1389 Lines: 32 On Tue, Apr 04, 2017 at 06:01:46PM -0400, Johannes Weiner wrote: > The current duplication is a high-maintenance mess, and it's painful > to add new items. > > This increases the size of the event array, but we'll eventually want > most of the VM events tracked on a per-cgroup basis anyway. > > Signed-off-by: Johannes Weiner Although the increase in the mem_cgroup struct introduced by this patch looks scary, I agree this is a reasonable step toward unification of vmstat, as most vm_even_item entries do make sense to be accounted per cgroup as well. Acked-by: Vladimir Davydov > @@ -608,9 +601,9 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, > > /* pagein of a big page is an event. So, ignore page size */ > if (nr_pages > 0) > - __this_cpu_inc(memcg->stat->events[MEM_CGROUP_EVENTS_PGPGIN]); > + __this_cpu_inc(memcg->stat->events[PGPGIN]); > else { > - __this_cpu_inc(memcg->stat->events[MEM_CGROUP_EVENTS_PGPGOUT]); > + __this_cpu_inc(memcg->stat->events[PGPGOUT]); > nr_pages = -nr_pages; /* for event */ > } AFAIR this doesn't exactly match system-wide PGPGIN/PGPGOUT: they are supposed to account only paging events involving IO while currently they include faulting in zero pages and zapping a process address space. Probably, this should be revised before rolling out to cgroup v2.