Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp104183imm; Tue, 22 May 2018 14:53:18 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrYToeD2eeudm71s2Kx0Jrr/htcowHcJwwc9my4Hx+1hH/4C9DqzklJU1E7KavwDWL4JH8q X-Received: by 2002:a17:902:7841:: with SMTP id e1-v6mr198296pln.197.1527025998028; Tue, 22 May 2018 14:53:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527025998; cv=none; d=google.com; s=arc-20160816; b=0+ITMFtNbYUz5zLrDCc+BsMjM21ajYjGKhPiaSugpzUgWNy3xsSYLxqCd0S0qN44BW PvATSE063DR9eH9TTZrxfne+7kQD9JiYxD8bITF85K+G09mYYKS4jJf4sUDP3Cr8O6+/ udEPhDwQhNosTa2zBFHMIvLFn/IKu2TbHkbTTvroR5tIwFVnwPHGvKgqkRYgJ2mOGrJd SQeLUR3Jy3CxspkpnDJkBsdeeSZfcH0OvE/qNCZlAEoaJaJoRYG+eMFv0vHX2f3ak6UQ iCdBmRcddDpSZedBoiPRImdlPbFRQlOFXOs/v1f27Qc4WUyGJruOwvWS8iSl8iLABcgW lNew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=H1i+96Ut6/25C6PYRRuV3RI8XM35xUmH/bTSSfp69oI=; b=KGJaTQVdWR4YdTlYGGgyWdLYLjA5XSB0ILjTIpAcazn5cU5qnWL88wOPQp0UPuDejQ FJtynHmvN8Rhx554umciJkynP9PmTo6rOIOvYMIja2IqpxV5LghD0a/Jy71+72jwCY3f weFr9ZMqz7mBbx8SCYyz9yj8WmLdTwLLx5RgVz3fiUd1oRChi4mzVKhcE4/V5YboHr86 Og53Nl3MvztqGbPd7tUlurrxyJxUy8Jl+qgXPRvKwHqe+aCFnoWOT4tWt1/yXgrR6L4u j+9UI+N7j0bgAK8Gr3wygmj5li/edHBvFHiaENOwwgZgVFm5NxAwXVtJFifopgdQYNYA gmlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=MUcjiTeO; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b3-v6si13630690pgt.629.2018.05.22.14.53.03; Tue, 22 May 2018 14:53:18 -0700 (PDT) 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; dkim=fail header.i=@gmail.com header.s=20161025 header.b=MUcjiTeO; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753219AbeEVVwt (ORCPT + 99 others); Tue, 22 May 2018 17:52:49 -0400 Received: from mail-ot0-f196.google.com ([74.125.82.196]:34533 "EHLO mail-ot0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752936AbeEVVwr (ORCPT ); Tue, 22 May 2018 17:52:47 -0400 Received: by mail-ot0-f196.google.com with SMTP id i5-v6so22839598otf.1; Tue, 22 May 2018 14:52:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=H1i+96Ut6/25C6PYRRuV3RI8XM35xUmH/bTSSfp69oI=; b=MUcjiTeO+wBGyjboT8aaqdLZNd+Vza5uGFetRJdZuUb7clERnNJywXFn7OBQja2pnd rB6hpq4LmMR1vCnrYGi1RXuHElG2S7hD3GFDbtooKNHtcYPa1eWBZ/LWcSHlePvw7NjU V1r4dtRtPj387jlvuFMYRTtksSGO9woYaQAx7cquSkE6uxBiSlDbTaIWtroG/SAv9Kzq 92bc+hCZQYv1segrbkjRnk0Iv6aY+tZlRpVYrufVKtDlIAAhTB8268yU7NK9xB6yNKxf pf4LxlzBK5QBct/otWBRP3H5aU0qogJ7UxUECkg1MV9tX679Ce8+XlLV1/oTIsaU+zNw mo/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=H1i+96Ut6/25C6PYRRuV3RI8XM35xUmH/bTSSfp69oI=; b=QB1VBhm34/u84h1zLsXtA3hapmY2EgGeUr/2tDorgw/DKns4etD5Pt0MFppBg2pXr6 tohXhR1XU5Vx73mjPhhPwwKUuBZTJ1azsZwZnhGf1Bb2ZttccR/ZFq+744QO2BLigXgw dFGLRNqLt0LaavhRzFY0yJdY6yyuZlFYVZhZ6wX6YpG3I9YtlpMBU33REvWSgFhhjuKo rbOIVSQuO2exeAGj/mHGw1vwY4VlN8xjaD8y+LkSpzhqt8OF1eXYY3S7kBjlUO8/Srgg KSPGgI2vizCnwAv1rMfyIb32RgspjKNhsi7jwa3le9nxmAYTu5HSP32ZuiOZcj4P55/X v7iQ== X-Gm-Message-State: ALKqPwdt28elKu3aeCrlW5k3mV0mdO1vqn53Y+Lheshv30y41wNePPqv CKWdTNlCzZ5dCKafwVimRgElxKXlFCZ0GavAB+I= X-Received: by 2002:a9d:9d6:: with SMTP id 22-v6mr143704otz.291.1527025966886; Tue, 22 May 2018 14:52:46 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:1468:0:0:0:0:0 with HTTP; Tue, 22 May 2018 14:52:46 -0700 (PDT) In-Reply-To: <20180522213113.GA40506@joelaf.mtv.corp.google.com> References: <20180518185501.173552-1-joel@joelfernandes.org> <20180522113844.5rz3skjeck57arft@vireshk-i7> <4237890.zlzv5C60QP@aspire.rjw.lan> <20180522213113.GA40506@joelaf.mtv.corp.google.com> From: "Rafael J. Wysocki" Date: Tue, 22 May 2018 23:52:46 +0200 X-Google-Sender-Auth: B109BwcKxswt9J12eLwrryJGiVo Message-ID: Subject: Re: [PATCH v2] schedutil: Allow cpufreq requests to be made even when kthread kicked To: Joel Fernandes Cc: "Rafael J. Wysocki" , Viresh Kumar , Linux Kernel Mailing List , "Rafael J . Wysocki" , Peter Zijlstra , Ingo Molnar , Patrick Bellasi , Juri Lelli , Luca Abeni , Todd Kjos , Claudio Scordino , kernel-team@android.com, Linux PM , "Joel Fernandes (Google.)" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 22, 2018 at 11:41 PM, Joel Fernandes wrote: > On Tue, May 22, 2018 at 05:27:11PM +0200, Rafael J. Wysocki wrote: >> On Tue, May 22, 2018 at 2:22 PM, Rafael J. Wysocki wrote: >> > On Tuesday, May 22, 2018 1:42:05 PM CEST Rafael J. Wysocki wrote: >> >> On Tue, May 22, 2018 at 1:38 PM, Viresh Kumar wrote: >> >> > On 22-05-18, 13:31, Rafael J. Wysocki wrote: >> >> >> So below is my (compiled-only) version of the $subject patch, obviously based >> >> >> on the Joel's work. >> >> >> >> >> >> Roughly, what it does is to move the fast_switch_enabled path entirely to >> >> >> sugov_update_single() and take the spinlock around sugov_update_commit() >> >> >> in the one-CPU case too. >> > >> > [cut] >> > >> >> > >> >> > Why do you assume that fast switch isn't possible in shared policy >> >> > cases ? It infact is already enabled for few drivers. >> > >> > I hope that fast_switch is not used with devfs_possible_from_any_cpu set in the >> > one-CPU policy case, as that looks racy even without any patching. >> >> Which would be the only case in which sugov_update_single() would run >> on a CPU that is not the target. >> >> And running sugov_update_single() concurrently on two different CPUs >> for the same target is a no-no, as we don't prevent concurrent updates >> from occurring in that path. >> >> Which means that the original patch from Joel will be sufficient as >> long as we ensure that sugov_update_single() can only run on one CPU >> at a time. > > Since target CPU's runqueue lock is held, I don't see how we can run > sugov_update_single concurrently with any other CPU for single policy, so > protecting such race shouldn't be necessary. If dvfs_possible_from_any_cpu is set, any CPU can run sugov_update_single(), but the kthread will only run on the target itself. So another CPU running sugov_update_single() for the target may be racing with the target's kthread. > Also the "if (work_in_progress)" check I added to the sugov_update_single > doesn't change the behavior of single policy from what it is in mainline > since we were doing the same thing in already sugov_should_update_freq. No, it doesn't, which doesn't mean that this is all OK. :-)