Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965176AbbLONjt (ORCPT ); Tue, 15 Dec 2015 08:39:49 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:33520 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752783AbbLONjr (ORCPT ); Tue, 15 Dec 2015 08:39:47 -0500 Subject: Re: [RFCv6 PATCH 09/10] sched: deadline: use deadline bandwidth in scale_rt_capacity To: Vincent Guittot References: <1449641971-20827-1-git-send-email-smuckle@linaro.org> <1449641971-20827-10-git-send-email-smuckle@linaro.org> <20151214151729.GQ6357@twins.programming.kicks-ass.net> <20151214221231.39b5bc4e@luca-1225C> <566FD446.1080004@unitn.it> Cc: Peter Zijlstra , Steve Muckle , Ingo Molnar , linux-kernel , "linux-pm@vger.kernel.org" , Morten Rasmussen , Dietmar Eggemann , Juri Lelli , Patrick Bellasi , Michael Turquette From: Luca Abeni Message-ID: <56701820.8050807@unitn.it> Date: Tue, 15 Dec 2015 14:39:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3324 Lines: 69 On 12/15/2015 01:43 PM, Vincent Guittot wrote: [...] >>>>> I agree that if the WCET is far from reality, we will underestimate >>>>> available capacity for CFS. Have you got some use case in mind which >>>>> overestimates the WCET ? >>>>> If we can't rely on this parameters to evaluate the amount of capacity >>>>> used by deadline scheduler on a core, this will imply that we can't >>>>> also use it for requesting capacity to cpufreq and we should fallback >>>>> on a monitoring mechanism which reacts to a change instead of >>>>> anticipating it. >>>> >>>> I think a more "theoretically sound" approach would be to track the >>>> _active_ utilisation (informally speaking, the sum of the utilisations >>>> of the tasks that are actually active on a core - the exact definition >>>> of "active" is the trick here). >>> >>> >>> The point is that we probably need 2 definitions of "active" tasks. >> >> Ok; thanks for clarifying. I do not know much about the remaining capacity >> used by CFS; however, from what you write I guess CFS really need an >> "average" >> utilisation (while frequency scaling needs the active utilisation). > > yes. this patch is only about the "average" utilization Ok; so, I think that the approach of this patch is too pessimistic (it uses the "worst-case" utilisation as an estimation of the average one). >>> This one >>> should be updated quite often with the wake up and the sleep of tasks >>> as well as the throttling. >> >> Strictly speaking, the active utilisation must be updated when a task >> wakes up and when a task sleeps/terminates (but when a task >> sleeps/terminates >> you cannot decrease the active utilisation immediately: you have to wait >> some time because the task might already have used part of its "future >> utilisation"). >> The active utilisation must not be updated when a task is throttled: a >> task is throttled when its current runtime is 0, so it already used all >> of its utilisation for the current period (think about two tasks with >> runtime=50ms and period 100ms: they consume 100% of the time on a CPU, >> and when the first task consumed all of its runtime, you cannot decrease >> the active utilisation). > > I haven't read the paper you pointed in the previous email but it's > on my todo list. Does the GRUB-PA take into account the frequency > transition when selecting the best frequency ? I do not know... As far as I understand, the GRUB-PA approach is simple: if the active utilisation of SCHED_DEADLINE tasks is Ua, then the CPU frequency can be reduced to the maximum possible frequency multiplied by Ua (of course, this must be adjusted a little bit, because the original GRUB-PA paper only considered real-time/SCHED_DEADLINE tasks... To leave some CPU time for other tasks, you have to increase Ua a little bit). Some time ago one of the authors of the GRUB-PA paper told me that they evaluated the performance of the algorithm by simulating the behaviour of a real CPU, but I do not know the details, and I do not know if they took the frequency transition into account. Luca -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/