From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754547AbcFPPx0 (ORCPT ); Thu, 16 Jun 2016 11:53:26 -0400 Received: from outbound-smtp05.blacknight.com ([81.17.249.38]:46759 "EHLO outbound-smtp05.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754177AbcFPPxZ (ORCPT ); Thu, 16 Jun 2016 11:53:25 -0400 Date: Thu, 16 Jun 2016 16:53:20 +0100 From: Mel Gorman To: Vlastimil Babka Cc: Andrew Morton , Linux-MM , Rik van Riel , Johannes Weiner , LKML Subject: Re: [PATCH 13/27] mm, memcg: Move memcg limit enforcement from zones to nodes Message-ID: <20160616155320.GJ1868@techsingularity.net> References: <1465495483-11855-1-git-send-email-mgorman@techsingularity.net> <1465495483-11855-14-git-send-email-mgorman@techsingularity.net> <2aea9490-99aa-4e55-e7ca-22b695eee1da@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <2aea9490-99aa-4e55-e7ca-22b695eee1da@suse.cz> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 16, 2016 at 05:06:46PM +0200, Vlastimil Babka wrote: > >@@ -323,13 +319,10 @@ EXPORT_SYMBOL(memcg_kmem_enabled_key); > > > > #endif /* !CONFIG_SLOB */ > > > >-static struct mem_cgroup_per_zone * > >-mem_cgroup_zone_zoneinfo(struct mem_cgroup *memcg, struct zone *zone) > >+static struct mem_cgroup_per_node * > >+mem_cgroup_nodeinfo(struct mem_cgroup *memcg, pg_data_t *pgdat) > > { > >- int nid = zone_to_nid(zone); > >- int zid = zone_idx(zone); > >- > >- return &memcg->nodeinfo[nid]->zoneinfo[zid]; > >+ return memcg->nodeinfo[pgdat->node_id]; > > I've noticed most callers pass NODE_DATA(nid) as second parameter, which is > quite wasteful to just obtain back the node_id (I doubt the compiler can > know that they will be the same?). So it would be more efficient to use nid > instead of pg_data_t pointer in the signature. > No harm in making the conversion, done now. > > } > > > > /** > >@@ -383,37 +376,35 @@ ino_t page_cgroup_ino(struct page *page) > > return ino; > > } > > > >-static struct mem_cgroup_per_zone * > >+static struct mem_cgroup_per_node * > > mem_cgroup_page_zoneinfo(struct mem_cgroup *memcg, struct page *page) > > This could be renamed to _nodeinfo()? > Renamed. -- Mel Gorman SUSE Labs