Received: by 10.213.65.68 with SMTP id h4csp779067imn; Wed, 4 Apr 2018 07:09:05 -0700 (PDT) X-Google-Smtp-Source: AIpwx481Gvs49CiOa9rhyfY/9Z92BoLLZV0/Y7QvIEor4taEs6stF/9yYvY7X3QxQyqKStGcTEsE X-Received: by 10.98.150.198 with SMTP id s67mr14097993pfk.191.1522850945867; Wed, 04 Apr 2018 07:09:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522850945; cv=none; d=google.com; s=arc-20160816; b=NOT1GwN4YGGGeqTTIf4yqyRYKeduC7/CRdci/+Is76tMdJXlUEkNAe8yHLwqlztpVZ wEAuKFmNbhnxNh061lIgoVZk6CKX5e6A2sOICzdjXYZwfnpEFFkJn0oQ23mQBD61+K6S 74UTDpoOmdQtClDIl7xDeJ++oWT3/BkHHIYdAtuBIh+IOc/FgiEK1MQN9wpRpwjiYAOZ fgykPXak0btT/V5mmpwgpTKEIOi3nYjiFdXmQEvXe510tR3q5pSfmu8qRwdrZkWb+GEl YhzxII3piaYgnxLHviWh0jFmHw99EMW780gkhon3lHoXG+G6h4aJbpxFXI3nXFm5NN/l O5YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=YKal12uGutGg8W7Aqt2cr8p8hPK22ME6PRh+ImrD7cQ=; b=qsF6RInR1L5V+Fgg5hChrg7/We/d7SAqJU/CK3Jaux1nlMKRPqwhSme748wuOjdVrk STQNCA/Mp5eWFMF/yBDEP1FNt8fobdyEaGN7qbAnCljP0J3c+jyEL2m+MesSWSILJRPm Ea9+W/eqvOtC8ORWxRS5Ec25kEDkoBJFqbGfbIbG4wevhxKXq8/XtjGGQzKEIAqdfyVX spUtc6XbFsZuCRablLc5k7rC7sgeQOrH5Iz9lT2ulfs2680W8m8tS0LvAtmLMRIYyxWR hiAHdTC104tUiuRetsPquBAQjWJ7GyM4hlO9N2LISQ70cpx2EmNevunHREMA/JEGgWR9 Fv5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@cmpxchg.org header.s=x header.b=HiTyPycM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o1si3764710pga.523.2018.04.04.07.08.51; Wed, 04 Apr 2018 07:09:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@cmpxchg.org header.s=x header.b=HiTyPycM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751324AbeDDOHl (ORCPT + 99 others); Wed, 4 Apr 2018 10:07:41 -0400 Received: from gum.cmpxchg.org ([85.214.110.215]:49970 "EHLO gum.cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751117AbeDDOHj (ORCPT ); Wed, 4 Apr 2018 10:07:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=cmpxchg.org ; s=x; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject: Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=YKal12uGutGg8W7Aqt2cr8p8hPK22ME6PRh+ImrD7cQ=; b=HiTyPycMd6wPT2mX600ZCoUB06 aGez13+l3G22o1kIu3kYA0hxEDNRm1SIjQYqj3TMowjXtG1K/ghOFQqgOR18NzYJ2lZxfaxS8A3sL +suiOmX/1CtpR5N7RuTrGaxfs4A4H4SfCY7349ISSmkI3gQJ6izPcQ7lorTjt7Incg9U=; Date: Wed, 4 Apr 2018 10:08:55 -0400 From: Johannes Weiner To: Tejun Heo Cc: mhocko@kernel.org, vdavydov.dev@gmail.com, guro@fb.com, riel@surriel.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, kernel-team@fb.com, cgroups@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 1/3] mm: memcontrol: Use cgroup_rstat for event accounting Message-ID: <20180404140855.GA28966@cmpxchg.org> References: <20180324160901.512135-1-tj@kernel.org> <20180324160901.512135-2-tj@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180324160901.512135-2-tj@kernel.org> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Mar 24, 2018 at 09:08:59AM -0700, Tejun Heo wrote: > @@ -91,6 +91,9 @@ struct mem_cgroup_stat_cpu { > unsigned long events[MEMCG_NR_EVENTS]; > unsigned long nr_page_events; > unsigned long targets[MEM_CGROUP_NTARGETS]; > + > + /* for cgroup rstat delta calculation */ > + unsigned long last_events[MEMCG_NR_EVENTS]; > }; > > struct mem_cgroup_reclaim_iter { > @@ -233,7 +236,11 @@ struct mem_cgroup { > > struct mem_cgroup_stat_cpu __percpu *stat_cpu; > atomic_long_t stat[MEMCG_NR_STAT]; > - atomic_long_t events[MEMCG_NR_EVENTS]; > + > + /* events is managed by cgroup rstat */ > + unsigned long long events[MEMCG_NR_EVENTS]; /* local */ > + unsigned long long tree_events[MEMCG_NR_EVENTS]; /* subtree */ > + unsigned long long pending_events[MEMCG_NR_EVENTS];/* propagation */ The lazy updates are neat, but I'm a little concerned at the memory footprint. On a 64-cpu machine for example, this adds close to 9000 words to struct mem_cgroup. And we really only need the accuracy for the 4 cgroup items in memory.events, not all VM events and stats. Why not restrict the patch to those? It would also get rid of the weird sharing between VM and cgroup enums.