From patchwork Fri Nov 11 10:22:21 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 81809 Delivered-To: patch@linaro.org Received: by 10.182.1.168 with SMTP id 8csp1382989obn; Fri, 11 Nov 2016 02:22:58 -0800 (PST) X-Received: by 10.98.16.132 with SMTP id 4mr5518524pfq.163.1478859778207; Fri, 11 Nov 2016 02:22:58 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id fc7si2712159pab.324.2016.11.11.02.22.57; Fri, 11 Nov 2016 02:22:58 -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; dkim=pass header.i=@linaro.org; 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=pass (p=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755700AbcKKKWk (ORCPT + 27 others); Fri, 11 Nov 2016 05:22:40 -0500 Received: from mail-pf0-f179.google.com ([209.85.192.179]:34326 "EHLO mail-pf0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755506AbcKKKWg (ORCPT ); Fri, 11 Nov 2016 05:22:36 -0500 Received: by mail-pf0-f179.google.com with SMTP id n85so10050261pfi.1 for ; Fri, 11 Nov 2016 02:22:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=UVT9esrTdwdR6SckyaJzSGl/L6zDVRvcy3rzwQbyn6M=; b=Hh0eoLefDSD17FdrF/Tee03bXyx3hQhhdMvtFb+jQsUGRbfYtb1sH3EEPelvPU83IJ SIL8aB7kjlxhWlZW2S3ICsEckegGajLg5piOt22Kq+0BIFOAKEQz+eWhvFjEbROk+fLP FoKy8aHEqZlWWYTK7Uc7gTn+LEdt5oxsHTplE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=UVT9esrTdwdR6SckyaJzSGl/L6zDVRvcy3rzwQbyn6M=; b=iKgV6GOkkZTMx1agdIKP4dOy7SxpF8zQjMSMEgPMncq7anOtmD9gvuS0/hFDfPzTbB hehWhFyP1C9mGsX7vYVnI1LpsobuYJktcyea1M+6W2GmGCOEVHs3e5yzWi4nfC3smTaY MO+eqDJ3sHWFcfILDCrf4kLgnlkpGW3ieD0gcij8Ciw2xr94h2TGgDRA86H/IjGMEHKJ Et7ZgPnY4QW1O/HHW7fKVolHw5nEmXgfWunqYJ8bg6MnWWpoLodxvkupaUAKxd7N/rQ0 nelD7Ye3n2fox89IO9Wofpf6rK7ntGx/tLz53jvgW9vYXlATjs8VEbbGuZ1g0cTDhd52 EYXQ== X-Gm-Message-State: ABUngvf51hiHpNRnE0Wd30jZGo/qjY8xk0SomU/b4GZcbOsT/kTRnMCc67s+2W0QW6veV4r7 X-Received: by 10.99.136.194 with SMTP id l185mr3633856pgd.106.1478859756219; Fri, 11 Nov 2016 02:22:36 -0800 (PST) Received: from localhost ([122.172.89.192]) by smtp.gmail.com with ESMTPSA id po8sm13916115pab.20.2016.11.11.02.22.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Nov 2016 02:22:35 -0800 (PST) From: Viresh Kumar To: Rafael Wysocki , Ingo Molnar , Peter Zijlstra Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Vincent Guittot , Juri Lelli , Robin Randhawa , Viresh Kumar Subject: [PATCH 1/3] cpufreq: schedutil: enable fast switch earlier Date: Fri, 11 Nov 2016 15:52:21 +0530 Message-Id: <1acfffe798c0371e69ec1171f485499e7b49ed6d.1478858983.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.7.1.410.g6faf27b In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The fast_switch_enabled flag will be used a bit earlier while converting the schedutil governor to use kthread worker. Prepare for that by moving the call to enable it to the beginning of sugov_init(). Signed-off-by: Viresh Kumar --- kernel/sched/cpufreq_schedutil.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) -- 2.7.1.410.g6faf27b diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c index 69e06898997d..ccb2ab89affb 100644 --- a/kernel/sched/cpufreq_schedutil.c +++ b/kernel/sched/cpufreq_schedutil.c @@ -416,9 +416,13 @@ static int sugov_init(struct cpufreq_policy *policy) if (policy->governor_data) return -EBUSY; + cpufreq_enable_fast_switch(policy); + sg_policy = sugov_policy_alloc(policy); - if (!sg_policy) - return -ENOMEM; + if (!sg_policy) { + ret = -ENOMEM; + goto disable_fast_switch; + } mutex_lock(&global_tunables_lock); @@ -456,8 +460,6 @@ static int sugov_init(struct cpufreq_policy *policy) out: mutex_unlock(&global_tunables_lock); - - cpufreq_enable_fast_switch(policy); return 0; fail: @@ -468,6 +470,10 @@ static int sugov_init(struct cpufreq_policy *policy) mutex_unlock(&global_tunables_lock); sugov_policy_free(sg_policy); + + disable_fast_switch: + cpufreq_disable_fast_switch(policy); + pr_err("initialization failed (error %d)\n", ret); return ret; } @@ -478,8 +484,6 @@ static void sugov_exit(struct cpufreq_policy *policy) struct sugov_tunables *tunables = sg_policy->tunables; unsigned int count; - cpufreq_disable_fast_switch(policy); - mutex_lock(&global_tunables_lock); count = gov_attr_set_put(&tunables->attr_set, &sg_policy->tunables_hook); @@ -490,6 +494,7 @@ static void sugov_exit(struct cpufreq_policy *policy) mutex_unlock(&global_tunables_lock); sugov_policy_free(sg_policy); + cpufreq_disable_fast_switch(policy); } static int sugov_start(struct cpufreq_policy *policy)