From patchwork Thu Dec 10 16:29:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 11965527 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 272F5C433FE for ; Thu, 10 Dec 2020 16:31:25 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B9FD023158 for ; Thu, 10 Dec 2020 16:31:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B9FD023158 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=LGQIamKXDMBIqJ5h2Angf7VpzkvfHKxecqXuhe0bDXo=; b=TaOZWBlifVNWAlf/EbzdQT7eft JXY+FceKmnnXD25QnlGLC80kkOP0Vn5VFKrZRIcrVG6+mm0eUrWSVP8Sb6KpdTVFisn0FhuIOCzYI CAYMgy553Ws/0n3YVXwgkYAa9blDNeBZgqpTLDA8RRu4FiehfcMLWzq/+1oAvBVpdAVTCvAVWFeLS 8LgHfEThgMtcKFeHtr/Kc4d2V597alGWvrVambneyi/92gFnEF45vcH5t/jmsDs4mDwnT6OT/0S60 aU1MhRv6UHKH13naO62J63D1cIAniHqa4JxLBTkZ0WGIXn9+LJS3y0zaC8q/5tSz4IK/lZj31ra9j weL6pEKw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1knOpK-0000ba-J8; Thu, 10 Dec 2020 16:29:58 +0000 Received: from mail-pg1-x541.google.com ([2607:f8b0:4864:20::541]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1knOox-0000QZ-4h for linux-arm-kernel@lists.infradead.org; Thu, 10 Dec 2020 16:29:51 +0000 Received: by mail-pg1-x541.google.com with SMTP id e2so4685080pgi.5 for ; Thu, 10 Dec 2020 08:29:34 -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:mime-version :content-transfer-encoding; bh=uW7jPDAJP0W04jlB4xyfWMLexo3zn7jvZAA+I5zJHp0=; b=rfbCw2pDR9L3wrIjols0HhZZ+nbrQq7ayfwaLPo9A5f/YDf+wcNW0WMWhYomSw/2Y6 ije2M5566hxUfHBWNtc0KkEZBuS/NsJNJQHaAH0cW6hc7HqSGuStC2bG5xYcWJsIGV+b jCwDNlChUCyc8g8LB9eoogC3eHhZYb51MpkbDYz6349H3OHfyBQBwyYqb2bzn50TLCQH SHeGPvucXyyuiRaOa5FzQZ3Vn+kyraGVogTk7M0H6qHk63VWNFG/HtNXXY6MTkK7m2PR 4r6FrbAshrINB+COW8A9/15fPHoabOuEnNWcoaj6WykEg9eku9af2c7c3i7ApKrTSFGj cyaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uW7jPDAJP0W04jlB4xyfWMLexo3zn7jvZAA+I5zJHp0=; b=Qz1poNdadxuAL5tMzZP4Ur5Jwa3Y2acUI4vfh1EOgMUGYlMQ2SyUmZI4Rp4hdPo7UF peDHKAGojU8oMi6pI1jUoCVgFw5tmDMGCtOcP5hq3WkUu2p+JhiV1xHxLRV5DiKBPbHA BLNLdFGtXW3XfuiZw0cmZuCPz14iPVd2TREN9mVAcSA/JT2jB5Clsc686NoDzb538G4u BPbjMPhRJmeiVeQU57fTlBZNWMzRThHr9MIsZzKmfFYIeFRpxsVPkKcIMFRgHeaVzrZy nm7U0DwEXWUaKQXzfL1aPaoTbTP3rSupEDqyKJLy6FnnLwwpSubgMdo8gQ3pxTMtZYff 51Bg== X-Gm-Message-State: AOAM530klBGcaLL1YU/2/VJ1IJvdhbililBWdiSFoiHtyPjez2N7sURf E2nQCdRCCPFYwEn1pAgc0UwIdkJSfLpxvA== X-Google-Smtp-Source: ABdhPJwtzzxEFMY808WWjp/6A+1rJeaDRULKBdPL3epPOOV5Xprf8FqEKOHkYblFqy8Y89ieyJgGAQ== X-Received: by 2002:a17:90a:a012:: with SMTP id q18mr8242051pjp.223.1607617772619; Thu, 10 Dec 2020 08:29:32 -0800 (PST) Received: from localhost ([122.172.20.109]) by smtp.gmail.com with ESMTPSA id x15sm6764754pfn.118.2020.12.10.08.29.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Dec 2020 08:29:31 -0800 (PST) From: Viresh Kumar To: Ionela Voinescu , Catalin Marinas , Will Deacon Subject: [PATCH V2 1/2] arm64: topology: Avoid the have_policy check Date: Thu, 10 Dec 2020 21:59:22 +0530 Message-Id: <5f85c2ddf7aa094d7d2ebebe8426f84fad0a99b7.1607617625.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.25.0.rc1.19.g042ed3e048af MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201210_112935_329651_1F716791 X-CRM114-Status: GOOD ( 19.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Viresh Kumar , Vincent Guittot , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Every time I have stumbled upon this routine, I get confused with the way 'have_policy' is used and I have to dig in to understand why is it so. Here is an attempt to make it easier to understand, and hopefully it is an improvement. The 'have_policy' check was just an optimization to avoid writing to amu_fie_cpus in case we don't have to, but that optimization itself is creating more confusion than the real work. Lets just do that if all the CPUs support AMUs. It is much cleaner that way. Signed-off-by: Viresh Kumar Reviewed-by: Ionela Voinescu --- V2: - Skip the have_policy check altogether - Updated subject and log arch/arm64/kernel/topology.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c index f6faa697e83e..ebadc73449f9 100644 --- a/arch/arm64/kernel/topology.c +++ b/arch/arm64/kernel/topology.c @@ -199,14 +199,14 @@ static int freq_inv_set_max_ratio(int cpu, u64 max_rate, u64 ref_rate) return 0; } -static inline bool +static inline void enable_policy_freq_counters(int cpu, cpumask_var_t valid_cpus) { struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); if (!policy) { pr_debug("CPU%d: No cpufreq policy found.\n", cpu); - return false; + return; } if (cpumask_subset(policy->related_cpus, valid_cpus)) @@ -214,8 +214,6 @@ enable_policy_freq_counters(int cpu, cpumask_var_t valid_cpus) amu_fie_cpus); cpufreq_cpu_put(policy); - - return true; } static DEFINE_STATIC_KEY_FALSE(amu_fie_key); @@ -225,7 +223,6 @@ static int __init init_amu_fie(void) { bool invariance_status = topology_scale_freq_invariant(); cpumask_var_t valid_cpus; - bool have_policy = false; int ret = 0; int cpu; @@ -245,17 +242,12 @@ static int __init init_amu_fie(void) continue; cpumask_set_cpu(cpu, valid_cpus); - have_policy |= enable_policy_freq_counters(cpu, valid_cpus); + enable_policy_freq_counters(cpu, valid_cpus); } - /* - * If we are not restricted by cpufreq policies, we only enable - * the use of the AMU feature for FIE if all CPUs support AMU. - * Otherwise, enable_policy_freq_counters has already enabled - * policy cpus. - */ - if (!have_policy && cpumask_equal(valid_cpus, cpu_present_mask)) - cpumask_or(amu_fie_cpus, amu_fie_cpus, valid_cpus); + /* Overwrite amu_fie_cpus if all CPUs support AMU */ + if (cpumask_equal(valid_cpus, cpu_present_mask)) + cpumask_copy(amu_fie_cpus, cpu_present_mask); if (!cpumask_empty(amu_fie_cpus)) { pr_info("CPUs[%*pbl]: counters will be used for FIE.",