Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1936368imu; Thu, 24 Jan 2019 04:39:35 -0800 (PST) X-Google-Smtp-Source: ALg8bN4qQnSlw7JIfsUgf3EDjoehiyLCU/EYpEz5VO6dGDJ+h61dIycupSd7pY2oUaeA48VY4n/L X-Received: by 2002:a63:9809:: with SMTP id q9mr5801756pgd.109.1548333575672; Thu, 24 Jan 2019 04:39:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548333575; cv=none; d=google.com; s=arc-20160816; b=mwq4ffGT7tpqi2AUuzAQM7VbajQi8+nE+hok4PfaLJWLhR/dUEtmoztyBVXFverItv eJC3mPaHIpL/UnQiOp39NYo7r33gOa+vTHjiUjMopt5aDFm5DNEQFnd3IT0D2RGu9Xg4 Jy7JBTlz5q+gy24NAVBLhKHEVwHuoBy/aYNjhV2e5I1Jl9GdNhzFWyhi+66f4sM0L7FE 6XzlHyL7Q7NJ45SgR0AUg+0IzYw34Acs5X/EGHiu2PX79iKP/N+GtlATt8fz9ujQcAgq Q/DhbaQXa1rqZn4PKi6zxUSbtOYNIgWL5hv3mp7kOpS+h3leBNYhostrqc7sVRh2k/M+ RCvg== 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; bh=hwkPvEJ/6E2l35rKEft87Y0+CQRiNbaRBki7peqksvA=; b=MZlxf4qSKdcWUEGhoF7sHCJgCd452aU5vTEu2TnF0ZO+G/UKk0nTCsirzOQmVvwY7a JOUnULJHvWGqerndxXd4aK/T+ZjGy7ZHnsVLuPVuwDr/5eCTcTPJdtq3HQLcsLRD/noJ npkBWkPBz0wKeFq1uXB/h8h+tLgfyel9nSY/eN+flcnpSstZLHBIzYX204WoKks434MH xkT8H+gos13+DVkR9ZbqyYcpP2N6YLjEWmctkzpsxG5yCxSwjQ9x54GdYZjh1vxpMCcW r2o3MD0Vt1nbCMITY58RNITml9YMsqV3ABPjYWaJ4pcccQMJC/WEQihcR6lfyejiR9Fr XQeg== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 31si22472082plk.310.2019.01.24.04.39.20; Thu, 24 Jan 2019 04:39:35 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727931AbfAXMil (ORCPT + 99 others); Thu, 24 Jan 2019 07:38:41 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:56102 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727522AbfAXMil (ORCPT ); Thu, 24 Jan 2019 07:38:41 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D12B6EBD; Thu, 24 Jan 2019 04:38:40 -0800 (PST) Received: from e110439-lin (e110439-lin.cambridge.arm.com [10.1.194.43]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DC3FC3F237; Thu, 24 Jan 2019 04:38:37 -0800 (PST) Date: Thu, 24 Jan 2019 12:38:35 +0000 From: Patrick Bellasi To: Peter Zijlstra Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-api@vger.kernel.org, Ingo Molnar , Tejun Heo , "Rafael J . Wysocki" , Vincent Guittot , Viresh Kumar , Paul Turner , Quentin Perret , Dietmar Eggemann , Morten Rasmussen , Juri Lelli , Todd Kjos , Joel Fernandes , Steve Muckle , Suren Baghdasaryan Subject: Re: [PATCH v6 09/16] sched/cpufreq: uclamp: Add utilization clamping for RT tasks Message-ID: <20190124123835.nliwk2onvrhe5aqf@e110439-lin> References: <20190115101513.2822-1-patrick.bellasi@arm.com> <20190115101513.2822-10-patrick.bellasi@arm.com> <20190123104944.GX27931@hirez.programming.kicks-ass.net> <20190123144011.iid3avb63r5v4r2c@e110439-lin> <20190123201146.GH17749@hirez.programming.kicks-ass.net> <20190124123009.2yulcf25ld66popd@e110439-lin> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190124123009.2yulcf25ld66popd@e110439-lin> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 24-Jan 12:30, Patrick Bellasi wrote: > On 23-Jan 21:11, Peter Zijlstra wrote: > > On Wed, Jan 23, 2019 at 02:40:11PM +0000, Patrick Bellasi wrote: > > > On 23-Jan 11:49, Peter Zijlstra wrote: > > > > On Tue, Jan 15, 2019 at 10:15:06AM +0000, Patrick Bellasi wrote: [...] > > I'm thikning that if we haz a single bit, say: > > > > struct uclamp_se { > > ... > > unsigned int changed : 1; > > }; > > > > We can update uclamp_se::value and set uclamp_se::changed, and then the > > next enqueue will (unlikely) test-and-clear changed and recompute the > > bucket_id. > > This mean will lazy update the "requested" bucket_id by deferring its > computation at enqueue time. Which saves us a copy of the bucket_id, > i.e. we will have only the "effective" value updated at enqueue time. > > But... > > > Would that not be simpler? > > ... although being simpler it does not fully exploit the slow-path, > a syscall which is usually running from a different process context > (system management software). > > It also fits better for lazy updates but, in the cgroup case, where we > wanna enforce an update ASAP for RUNNABLE tasks, we will still have to > do the updates from the slow-path. > > Will look better into this simplification while working on v7, perhaps > the linear mapping can really help in that too. Actually, I forgot to mention that: uclamp_se::effective::{ value, bucket_id } will be still required to proper support the cgroup delegation model, where a child group could be restricted by the parent but we want to keep track of the original "requested" value for when the parent should relax the restriction. Thus, since effective values are already there, why not using them also to pre-compute the new requested bucket_id from the slow path? -- #include Patrick Bellasi