Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp658073lqt; Fri, 19 Apr 2024 06:56:57 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVIkiiM1DTcnPpcR86Co3pIqHOpelddGuJu7kLyvC87r9E0eD+0NHHR2LN+aYGPHprcR+TGDPgwg9UHXXQT4y66y7uvCfoEPkUIhjmRmg== X-Google-Smtp-Source: AGHT+IFsZJ1Q0LmUD4gsMhwKcTe8V8Dswe33Pr8rJJxmgX1Lco78nBa9g71DkLHPLNrFzEKuYBqU X-Received: by 2002:a05:6a21:33a9:b0:1aa:a421:4239 with SMTP id yy41-20020a056a2133a900b001aaa4214239mr2647257pzb.15.1713535017656; Fri, 19 Apr 2024 06:56:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713535017; cv=pass; d=google.com; s=arc-20160816; b=AgC96bHcEXf59LDWLVg0yU7eijw4CW/Z0mfUrIyvGRPjf4cqij9l9OrFM++Tweeusy vaLfv/TLQtOApm2Dhce5NritgF7/jL31swnP1Ed3JVPhU+VVVhEdF0CCnR7rxg2ap+06 KLcu08HihnrYDSiEOuLRk+kkMKcFRE6VFQAG38gw+eq2DEkVb3xz37lZePq3In3tJAjR a5+AhFhmTwWHejDVn6FVj8Me7Usl0X6a6+A8XUFvzpI/kMW1SCPyEoOWp+O68Qra13if vZe+YnJ6eEXwWFR3zUoBDpZiVglcE5oSg/jb7CyuxhPHRhRFqiLn8aygwNaR9uwHuP8S YgWg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=CVUzXtSiyD6oZuQB/VkTQdo9WSem3R7K1MN5PWQe138=; fh=7Sr8R+TxNAg66vBsmdjxTnKsTqt5lUB0QFbiHdpKBVo=; b=avn5UcwMU0WlWg+opGS882P8G7RmmoPxcvuRNpB+bHDyDl0YosBIaw+/ZIrCzovoUt lplDRiwt28qBjuJqhoEwq0i6svL42j1WzDdjOSxIgum+XfJYvk3bRZXRzPYjdgjs2txL M8+tOjGjG1UZB2p/czy58zZW3tGOHSknjisyQVjCoJZZwQzmYbyH7/RUpPB50BChdue8 Y43e1KjpuOyolWFa37e6l0jvlcQbJTXS8yWRf2PfEU+gn68PPCYKWOr6lzTYLRklPJ1R laHElT/81dL8c5wQIMxzRHArZ+ok+8iuEA9Imu32zbGKni+/M6QKUtrHyvZB8q9kHWKz ZHrg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-151494-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-151494-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id b2-20020a17090a550200b002a60efe265asi21906pji.187.2024.04.19.06.56.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Apr 2024 06:56:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-151494-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-151494-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-151494-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id C6B37B22FC9 for ; Fri, 19 Apr 2024 13:42:47 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1108A12D748; Fri, 19 Apr 2024 13:42:25 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BC90712BEBE; Fri, 19 Apr 2024 13:42:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713534144; cv=none; b=eng2nG/D6iD+39DNu9lGmZjYhvVN34eq+rJhjsJXIHuMhUIz/oNZapnpx93q3BGzSS5dNK7abGrxe7rpoizK5e8/68Sa8HA+lKgjdrE/+/1s4UnrySLcP7LdZfy6afRABXvQvOAxXpJpA8OF9YqaJy7hs8m/NySCEd5X6RokLfw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713534144; c=relaxed/simple; bh=2Th4AlJNiK8G7lYUCJU5ZRC6UwKwfk2DPXWCgGmkaZI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=a74iCjzKaglIZvskSIfOUNkF8XGDJmgMKuqf86pPYCDInm8v0sNrzFmHCe1wfiCExs6Usrsyt7FAcMxkOm452ZvCj0Rl8C6S0xBf3kmNOezNN5rwAtSzjdY+BpUlEYmEd+WA/2bZ6s8eQw3Z4E3gGhy0GLn14Om3eClbRroMlGw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6AAE6339; Fri, 19 Apr 2024 06:42:50 -0700 (PDT) Received: from [10.1.30.55] (e133047.arm.com [10.1.30.55]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D05DF3F64C; Fri, 19 Apr 2024 06:42:18 -0700 (PDT) Message-ID: Date: Fri, 19 Apr 2024 14:42:16 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 2/2] cpufreq/schedutil: Remove iowait boost To: Qais Yousef , "Rafael J. Wysocki" Cc: linux-kernel@vger.kernel.org, peterz@infradead.org, juri.lelli@redhat.com, mingo@redhat.com, dietmar.eggemann@arm.com, vschneid@redhat.com, vincent.guittot@linaro.org, Johannes.Thumshirn@wdc.com, adrian.hunter@intel.com, ulf.hansson@linaro.org, andres@anarazel.de, asml.silence@gmail.com, linux-pm@vger.kernel.org, linux-block@vger.kernel.org, io-uring@vger.kernel.org References: <20240304201625.100619-1-christian.loehle@arm.com> <20240304201625.100619-3-christian.loehle@arm.com> <5060c335-e90a-430f-bca5-c0ee46a49249@arm.com> <20240325023726.itkhlg66uo5kbljx@airbuntu> Content-Language: en-US From: Christian Loehle In-Reply-To: <20240325023726.itkhlg66uo5kbljx@airbuntu> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 25/03/2024 02:37, Qais Yousef wrote: > On 03/18/24 18:08, Rafael J. Wysocki wrote: >> On Mon, Mar 18, 2024 at 5:40 PM Christian Loehle >> wrote: >>> >>> On 18/03/2024 14:07, Rafael J. Wysocki wrote: >>>> On Mon, Mar 4, 2024 at 9:17 PM Christian Loehle >>>> wrote: >>>>> >>>>> The previous commit provides a new cpu_util_cfs_boost_io interface for >>>>> schedutil which uses the io boosted utilization of the per-task >>>>> tracking strategy. Schedutil iowait boosting is therefore no longer >>>>> necessary so remove it. >>>> >>>> I'm wondering about the cases when schedutil is used without EAS. >>>> >>>> Are they still going to be handled as before after this change? >>> >>> Well they should still get boosted (under the new conditions) and according >>> to my tests that does work. >> >> OK >> >>> Anything in particular you're worried about? >> >> It is not particularly clear to me how exactly the boost is taken into >> account without EAS. >> >>> So in terms of throughput I see similar results with EAS and CAS+sugov. >>> I'm happy including numbers in the cover letter for future versions, too. >>> So far my intuition was that nobody would care enough to include them >>> (as long as it generally still works). >> >> Well, IMV clear understanding of the changes is more important. > > I think the major thing we need to be careful about is the behavior when the > task is sleeping. I think the boosting will be removed when the task is > dequeued and I can bet there will be systems out there where the BLOCK softirq > being boosted when the task is sleeping will matter. Currently I see this mainly protected by the sugov rate_limit_us. With the enqueue's being the dominating cpufreq updates it's not really an issue, the boost is expected to survive the sleep duration, during which it wouldn't be active. I did experiment with some sort of 'stickiness' of the boost to the rq, but it is somewhat of a pain to deal with if we want to remove it once enqueued on a different rq. A sugov 1ms timer is much simpler of course. Currently it's not necessary IMO, but for the sake of being future-proof in terms of more frequent freq updates I might include it in v2. > > FWIW I do have an implementation for per-task iowait boost where I went a step > further and converted intel_pstate too and like Christian didn't notice > a regression. But I am not sure (rather don't think) I triggered this use case. > I can't tell when the systems truly have per-cpu cpufreq control or just appear > so and they are actually shared but not visible at linux level. Please do share your intel_pstate proposal! Kind Regards, Christian