Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932602AbdCJOpq (ORCPT ); Fri, 10 Mar 2017 09:45:46 -0500 Received: from mx2.suse.de ([195.135.220.15]:39877 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754941AbdCJOpn (ORCPT ); Fri, 10 Mar 2017 09:45:43 -0500 Date: Fri, 10 Mar 2017 15:45:39 +0100 From: Michal Hocko To: Mel Gorman Cc: Zi Yan , David Nellans , Anshuman Khandual , linux-kernel@vger.kernel.org, linux-mm@kvack.org, vbabka@suse.cz, minchan@kernel.org, aneesh.kumar@linux.vnet.ibm.com, bsingharora@gmail.com, srikar@linux.vnet.ibm.com, haren@linux.vnet.ibm.com, jglisse@redhat.com, dave.hansen@intel.com, dan.j.williams@intel.com, Naoya Horiguchi Subject: Re: [PATCH 0/6] Enable parallel page migration Message-ID: <20170310144539.GK3753@dhcp22.suse.cz> References: <20170217112453.307-1-khandual@linux.vnet.ibm.com> <20170309150904.pnk6ejeug4mktxjv@suse.de> <2a2827d0-53d0-175b-8ed4-262629e01984@nvidia.com> <20170309221522.hwk4wyaqx2jonru6@suse.de> <58C1E948.9020306@cs.rutgers.edu> <20170310140715.z6ostiatqx5oiu2i@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170310140715.z6ostiatqx5oiu2i@suse.de> 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: 1070 Lines: 23 On Fri 10-03-17 14:07:16, Mel Gorman wrote: > On Thu, Mar 09, 2017 at 05:46:16PM -0600, Zi Yan wrote: [...] > > I understand your concern on CPU utilization impact. I think checking > > CPU utilization and only using idle CPUs could potentially avoid this > > problem. > > > > That will be costly to detect actually. It would require poking into the > scheduler core and incurring a number of cache misses for a race-prone > operation that may not succeed. Even if you do it, it'll still be > brought up that the serialised case should be optimised first. do not forget that seeing idle cpus is not a sufficient criterion to use it for parallel migration. There might be other policies you are not aware of from the MM code to keep them idle (power saving and who knows what else). Developing a reasonable strategy for spreading the load to different CPUs is really hard, much harder than you can imaging I suspect (just look at how hard it was and I long it took to get to a reasonable scheduler driven frequency scaling/power governors). -- Michal Hocko SUSE Labs