From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C0E17A09E4; Tue, 30 Mar 2021 18:52:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 47109140D8C; Tue, 30 Mar 2021 18:52:07 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 36D04406B4 for ; Tue, 30 Mar 2021 18:52:04 +0200 (CEST) IronPort-SDR: fBZzCdPdGdAecUsHmJu5jFwOgxthOI83Yn2xA9ZEjihNyKO0trUkgWZzxB6Qo5O8fvqFdSbJxu NPBXZ1+Xa0Dw== X-IronPort-AV: E=McAfee;i="6000,8403,9939"; a="191910074" X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="191910074" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 09:52:02 -0700 IronPort-SDR: hYn7RNImwGuYExwi8B5Eseo/hkE1ALxgy7lQadi1C3YwEct8HkzMeVSnOC4osWy9NJixwtWRN3 KSyB/HSKQVBA== X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="455102790" Received: from aburakov-mobl.ger.corp.intel.com (HELO [10.213.200.209]) ([10.213.200.209]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 09:52:02 -0700 From: "Burakov, Anatoly" To: dev@dpdk.org Cc: David Hunt References: Message-ID: Date: Tue, 30 Mar 2021 17:51:58 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 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" On 30-Mar-21 3:25 PM, Anatoly Burakov wrote: > 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 `rte_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..db7856dadc 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 */ > + rte_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); > Fixes: e6c6dc0f96c8 ("power: add p-state driver compatibility") -- Thanks, Anatoly