From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757400AbbEEKB1 (ORCPT ); Tue, 5 May 2015 06:01:27 -0400 Received: from eu-smtp-delivery-143.mimecast.com ([146.101.78.143]:63260 "EHLO eu-smtp-delivery-143.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757325AbbEEKBT convert rfc822-to-8bit (ORCPT ); Tue, 5 May 2015 06:01:19 -0400 Message-ID: <554894F5.5000502@arm.com> Date: Tue, 05 May 2015 11:01:25 +0100 From: Dietmar Eggemann User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: "pang.xunlei@zte.com.cn" CC: Juri Lelli , "linux-kernel@vger.kernel.org" , "linux-kernel-owner@vger.kernel.org" , "mingo@redhat.com" , Morten Rasmussen , "mturquette@linaro.org" , "nico@linaro.org" , Peter Zijlstra , "preeti@linux.vnet.ibm.com" , "rjw@rjwysocki.net" , "vincent.guittot@linaro.org" , "yuyang.du@intel.com" Subject: Re: [RFCv3 PATCH 45/48] sched: Skip cpu as lb src which has one task and capacity gte the dst cpu References: <1423074685-6336-1-git-send-email-morten.rasmussen@arm.com> <1423074685-6336-46-git-send-email-morten.rasmussen@arm.com> <20150324152723.GU23123@twins.programming.kicks-ass.net> <55130220.7020700@arm.com> In-Reply-To: X-OriginalArrivalTime: 05 May 2015 10:01:16.0356 (UTC) FILETIME=[6D219040:01D0871A] X-MC-Unique: 32Be4UcqR06RdokmoProQQ-1 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 30/04/15 08:46, pang.xunlei@zte.com.cn wrote: > linux-kernel-owner@vger.kernel.org wrote 2015-03-26 AM 02:44:48: > >> Dietmar Eggemann >> >> Re: [RFCv3 PATCH 45/48] sched: Skip cpu as lb src which has one task >> and capacity gte the dst cpu >> >> On 24/03/15 15:27, Peter Zijlstra wrote: >> > On Wed, Feb 04, 2015 at 06:31:22PM +0000, Morten Rasmussen wrote: >> >> From: Dietmar Eggemann >> >> >> >> Skip cpu as a potential src (costliest) in case it has only one task >> >> running and its original capacity is greater than or equal to the >> >> original capacity of the dst cpu. >> > >> > Again, that's what, but is lacking a why. >> > >> >> You're right, the 'why' is completely missing. >> >> This is one of our heterogeneous (big.LITTLE) cpu related patches. We >> don't want to end up migrating this single task from a big to a little >> cpu, hence the use of capacity_orig_of(cpu). Our cpu topology makes sure >> that this rule is only active on DIE sd level. > > Hi Dietmar, > > Could you tell me the reason why don't want to end up migrating this single > task from a big to a little cpu? > > Like what I just replied to "[RFCv3 PATCH 47/48]", if the task is a > small one, > why couldn't we migrate it to the little cpu to save energy especially when > the cluster has shared freq, the saving may be appreciable? If it's a big (always running) task, it should stay on the cpu with the higher capacity. If it is a small task it will eventually go to sleep and the wakeup path will take care of placing it onto the right cpu. [...]