Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751704AbdF1Jpj (ORCPT ); Wed, 28 Jun 2017 05:45:39 -0400 Received: from mx2.suse.de ([195.135.220.15]:36619 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751545AbdF1JpU (ORCPT ); Wed, 28 Jun 2017 05:45:20 -0400 Date: Wed, 28 Jun 2017 11:45:16 +0200 From: Michal Hocko To: Vlastimil Babka Cc: Wei Yang , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/memory_hotplug: just build zonelist for new added node Message-ID: <20170628094516.GE5225@dhcp22.suse.cz> References: <20170626035822.50155-1-richard.weiyang@gmail.com> <20170628092329.GC5225@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Content-Length: 1379 Lines: 29 On Wed 28-06-17 11:35:00, Vlastimil Babka wrote: > On 06/28/2017 11:23 AM, Michal Hocko wrote: > > On Mon 26-06-17 11:58:22, Wei Yang wrote: > >> In commit (9adb62a5df9c0fbef7) "mm/hotplug: correctly setup fallback > >> zonelists when creating new pgdat" tries to build the correct zonelist for > >> a new added node, while it is not necessary to rebuild it for already exist > >> nodes. > >> > >> In build_zonelists(), it will iterate on nodes with memory. For a new added > >> node, it will have memory until node_states_set_node() is called in > >> online_pages(). > >> > >> This patch will avoid to rebuild the zonelists for already exist nodes. > > > > It is not very clear from the changelog why that actually matters. The > > only effect I can see is that other zonelists on other online nodes will > > not learn about the currently memory less node. This is a good think > > because we do not pointlessly try to allocate from that node. > > build_zonelists_node() seems to use managed_zone(zone) checks, so it > should not include empty zones anyway. So effectively seems to me we > just avoid some pointless work under stop_machine(). Ohh, you are right. I was looking for populated_zone and didn't find any so I thought we just do not care. So, indeed the patch has no functional effect it just reduces the stop_machine overhead tiny bit. -- Michal Hocko SUSE Labs