Received: by 10.223.176.5 with SMTP id f5csp575160wra; Fri, 9 Feb 2018 03:52:56 -0800 (PST) X-Google-Smtp-Source: AH8x224ClXhlwMyYAYSyg/WGO76xIBerre5U+nvepgufnNz/0tN0toJzaLLFIKBeay0bWfriGHbE X-Received: by 10.99.108.7 with SMTP id h7mr2169561pgc.292.1518177175932; Fri, 09 Feb 2018 03:52:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518177175; cv=none; d=google.com; s=arc-20160816; b=pgHPtdLLoFAFX7oDTzXO3i6xAATnKqgLTg3QC9xIeej3IMxvSICEflSe8tIy6XUH1Y qk+/1RY+BdBNf7o9IjvgnkVoVbZVLKAwI+oyrPbtgOEZ9cNfw0lf/47UoIbq7plsWzGV q3XQjO2/G+6Ilot7uRkdSWjfNsOzimKHBSd8xmPKk8pQta0jhrT2lSfQc8zvqrSJfYwJ pfmeXREFKEVPyYYQb+9XkPBkscm7Pc69LwdWh14F/3Vl22WsMWPlyBvN0ogFeKZk9lYc R25ptIeOTFOwS+BkhCOQyCqTJzzVmDYGzuB0p563Wei+3bhX/ZPO+wkfCRLDoR6cXwX2 IX1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=TTS7+duwT7I3M5LQWlpXzrTA1fjmZbWgW6tZtWxzlVo=; b=ZzqwOYg18ejRb5Um8dI8p9n60OZKzZ/UUCcY5MGNhO4HuBkHhpq/x/t5PXxBoG2GCD 0t5ZI2yvAoBrI3oJnn97zWDeffvWy7olzDFqFEQsiJDwGVDWzKoJnynF5Zy5aYTzkP47 +Gxvvj3ZdN+D/xdfRDA4dfu6dX5vGdlvD+uhsvSP+L0PawwHFHkxXG64FghobJ4CTkOm EMf61EwkjpoxQZUXEZQuRGWhidT1PMWF5eX/vI73skp9HoR9+wQ/wPFSytvdhpLddzfm caZa1NmqSEljfF4ue3ZfSXYtLqf/eCw0qL1/BWRtArrPha/EH+hFRo4iYZx24yHIRYIH t1eg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q82si1613097pfd.240.2018.02.09.03.52.42; Fri, 09 Feb 2018 03:52:55 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751031AbeBILwB (ORCPT + 99 others); Fri, 9 Feb 2018 06:52:01 -0500 Received: from mail-wm0-f52.google.com ([74.125.82.52]:39283 "EHLO mail-wm0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750945AbeBILv7 (ORCPT ); Fri, 9 Feb 2018 06:51:59 -0500 Received: by mail-wm0-f52.google.com with SMTP id b21so15778188wme.4 for ; Fri, 09 Feb 2018 03:51:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=TTS7+duwT7I3M5LQWlpXzrTA1fjmZbWgW6tZtWxzlVo=; b=Vnu14yHKHKdKa0fw3FYD+aVO7UaVqpg6LbcI6gptZNIRUi29qqLLwQa4q10JRUoDBa jarn8TG3aHmMegV+lawr1/CgFZWsNWTZTKBg0sddrN8JO16iCpQFPja201dHPD8TvcuH A60gfVFmQfHOajNp79Mb4d5TsURkL3dtU+XeykwAOz5vQO11jXzuh7zfojgsAkXTlxh7 gijrgrAVDDq1/PN96pkhzeLETsuUnqfSG78U7bysnyeHba+wo/JmK49USRHzfqW5G8MZ AI/E6cJZzKwWTNUjmMkjW2zvK9CoOTNewGaYpHZEctn183iudOIEbtvIhhutY6tNsRqM KjVA== X-Gm-Message-State: APf1xPC+YugjTLrTkmjtioIsUTTyj92DUFK8Y35koI7BrGkn7O7a/05D 9NXiVk3P1K6Od27yGMPXTy3S4g== X-Received: by 10.28.169.76 with SMTP id s73mr1618765wme.122.1518177118082; Fri, 09 Feb 2018 03:51:58 -0800 (PST) Received: from localhost.localdomain ([151.15.228.62]) by smtp.gmail.com with ESMTPSA id w50sm3926160wrb.33.2018.02.09.03.51.56 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 09 Feb 2018 03:51:57 -0800 (PST) Date: Fri, 9 Feb 2018 12:51:55 +0100 From: Juri Lelli To: "Rafael J. Wysocki" Cc: "Rafael J. Wysocki" , Claudio Scordino , Viresh Kumar , Peter Zijlstra , Ingo Molnar , "Rafael J . Wysocki" , Patrick Bellasi , Dietmar Eggemann , Morten Rasmussen , Vincent Guittot , Todd Kjos , Joel Fernandes , Linux PM , Linux Kernel Mailing List Subject: Re: [PATCH] cpufreq: schedutil: rate limits for SCHED_DEADLINE Message-ID: <20180209115155.GG12979@localhost.localdomain> References: <1518109302-8239-1-git-send-email-claudio@evidence.eu.com> <20180209035143.GX28462@vireshk-i7> <197c26ba-c2a6-2de7-dffa-5b884079f746@evidence.eu.com> <11598161.veS9VGWB8G@aspire.rjw.lan> <20180209105305.GD12979@localhost.localdomain> <20180209112618.GE12979@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/02/18 12:37, Rafael J. Wysocki wrote: > On Fri, Feb 9, 2018 at 12:26 PM, Juri Lelli wrote: > > On 09/02/18 12:04, Rafael J. Wysocki wrote: > >> On Fri, Feb 9, 2018 at 11:53 AM, Juri Lelli wrote: > >> > Hi, > >> > > >> > On 09/02/18 11:36, Rafael J. Wysocki wrote: > >> >> On Friday, February 9, 2018 9:02:34 AM CET Claudio Scordino wrote: > >> >> > Hi Viresh, > >> >> > > >> >> > Il 09/02/2018 04:51, Viresh Kumar ha scritto: > >> >> > > On 08-02-18, 18:01, Claudio Scordino wrote: > >> >> > >> When the SCHED_DEADLINE scheduling class increases the CPU utilization, > >> >> > >> we should not wait for the rate limit, otherwise we may miss some deadline. > >> >> > >> > >> >> > >> Tests using rt-app on Exynos5422 have shown reductions of about 10% of deadline > >> >> > >> misses for tasks with low RT periods. > >> >> > >> > >> >> > >> The patch applies on top of the one recently proposed by Peter to drop the > >> >> > >> SCHED_CPUFREQ_* flags. > >> >> > >> > >> >> > >> >> [cut] > >> >> > >> >> > > >> >> > > > >> >> > > Is it possible to (somehow) check here if the DL tasks will miss > >> >> > > deadline if we continue to run at current frequency? And only ignore > >> >> > > rate-limit if that is the case ? > >> > > >> > Isn't it always the case? Utilization associated to DL tasks is given by > >> > what the user said it's needed to meet a task deadlines (admission > >> > control). If that task wakes up and we realize that adding its > >> > utilization contribution is going to require a frequency change, we > >> > should _theoretically_ always do it, or it will be too late. Now, user > >> > might have asked for a bit more than what strictly required (this is > >> > usually the case to compensate for discrepancies between theory and real > >> > world, e.g. hw transition limits), but I don't think there is a way to > >> > know "how much". :/ > >> > >> You are right. > >> > >> I'm somewhat concerned about "fast switch" cases when the rate limit > >> is used to reduce overhead. > > > > Mmm, right. I'm thinking that in those cases we could leave rate limit > > as is. The user should then be aware of it and consider it as proper > > overhead when designing her/his system. > > > > But then, isn't it the same for "non fast switch" platforms? I mean, > > even in the latter case we can't go faster than hw limits.. mmm, maybe > > the difference is that in the former case we could go as fast as theory > > would expect.. but we shouldn't. :) > > Well, in practical terms that means "no difference" IMO. :-) > > I can imagine that in some cases this approach may lead to better > results than reducing the rate limit overall, but the general case I'm > not sure about. > > I mean, if overriding the rate limit doesn't take place very often, > then it really should make no difference overhead-wise. Now, of > course, how to define "not very often" is a good question as that > leads to rate-limiting the overriding of the original rate limit and > that scheme may continue indefinitely ... :) My impression is that rate limit helps a lot for CFS, where the "true" utilization is not known in advance, and being too responsive might actually be counterproductive. For DEADLINE (and RT, with differences) we should always respond as quick as we can (and probably remember that a frequency transition was requested if hw was already performing one, but that's another patch) because, if we don't, a task belonging to a lower priority class might induce deadline misses in highest priority activities. E.g., a CFS task that happens to trigger a freq switch right before a DEADLINE task wakes up and needs an higher frequency to meet its deadline: if we wait for the rate limit of the CFS originated transition.. deadline miss!