From mboxrd@z Thu Jan 1 00:00:00 1970 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, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 770ADC433DB for ; Tue, 30 Mar 2021 14:16:01 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 0F229619BD for ; Tue, 30 Mar 2021 14:16:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0F229619BD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A714140E18; Tue, 30 Mar 2021 16:15:58 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 08F7C140E02 for ; Tue, 30 Mar 2021 16:15:54 +0200 (CEST) IronPort-SDR: OEDsdh67mcVyZZ+UmWoxCJcuKN1b5lV8XcS9AkR2at3iekh6Uh1wjk2doLg9GaehWKJvsPSA9Q GsIOlSVi5ECA== X-IronPort-AV: E=McAfee;i="6000,8403,9939"; a="191249265" X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="191249265" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 07:15:53 -0700 IronPort-SDR: cBbX8t9gv13MKEFojS5oSDbRLhZ39WpArzcdV9rEgrVaAzC06rwPowE+WnJheUYyyHGvs6LaUt 8SWqQSwiru4w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="378506450" Received: from silpixa00399498.ir.intel.com (HELO silpixa00399498.ger.corp.intel.com) ([10.237.222.97]) by orsmga006.jf.intel.com with ESMTP; 30 Mar 2021 07:15:51 -0700 From: Anatoly Burakov To: dev@dpdk.org Cc: David Hunt Date: Tue, 30 Mar 2021 14:15:48 +0000 Message-Id: <33bdcdb912b4a2e3e9cb743dd93385fad78ece86.1617113740.git.anatoly.burakov@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 3/3] power: do not skip saving original pstate governor X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Currently, when we set the pstate governor to "performance", we check if it is already set to this value, and if it is, we skip setting it. However, we never save this value anywhere, so that next time we come back and request the governor to be set to its original value, the original value is empty. Fix it by saving the original pstate governor first. While we're at it, replace `strlcpy` with `strscpy`. Signed-off-by: Anatoly Burakov --- lib/librte_power/power_pstate_cpufreq.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/librte_power/power_pstate_cpufreq.c b/lib/librte_power/power_pstate_cpufreq.c index 7ea1bf677a..a7a44df23f 100644 --- a/lib/librte_power/power_pstate_cpufreq.c +++ b/lib/librte_power/power_pstate_cpufreq.c @@ -450,6 +450,9 @@ power_set_governor_performance(struct pstate_power_info *pi) ret = read_core_sysfs_s(f_governor, buf, sizeof(buf)); FOPS_OR_ERR_GOTO(ret, out); + /* Save the original governor */ + strscpy(pi->governor_ori, buf, sizeof(pi->governor_ori)); + /* Check if current governor is performance */ if (strncmp(buf, POWER_GOVERNOR_PERF, sizeof(POWER_GOVERNOR_PERF)) == 0) { @@ -458,8 +461,6 @@ power_set_governor_performance(struct pstate_power_info *pi) "already performance\n", pi->lcore_id); goto out; } - /* Save the original governor */ - strlcpy(pi->governor_ori, buf, sizeof(pi->governor_ori)); /* Write 'performance' to the governor */ ret = write_core_sysfs_s(f_governor, POWER_GOVERNOR_PERF); -- 2.25.1