From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id 3E6ECA0679
	for <public@inbox.dpdk.org>; Wed,  3 Apr 2019 12:01:09 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id DCF911B131;
	Wed,  3 Apr 2019 12:01:08 +0200 (CEST)
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by dpdk.org (Postfix) with ESMTP id F08031B122
 for <dev@dpdk.org>; Wed,  3 Apr 2019 12:01:06 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 03 Apr 2019 03:01:06 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.60,304,1549958400"; d="scan'208";a="146207643"
Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.103])
 ([10.237.220.103])
 by FMSMGA003.fm.intel.com with ESMTP; 03 Apr 2019 03:01:05 -0700
To: "Krakowiak, LukaszX" <lukaszx.krakowiak@intel.com>,
 "Hunt, David" <david.hunt@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
References: <20190307135950.30738-1-lukaszx.krakowiak@intel.com>
 <20190307135950.30738-4-lukaszx.krakowiak@intel.com>
 <f66f1bbe-2538-b776-5043-dd48ce06cdcc@intel.com>
 <DC695E1BE92F754CA2AE786BE043D81318DDD43C@hasmsx107.ger.corp.intel.com>
From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
Message-ID: <f769c7af-216d-e3f7-95f8-e415c0147223@intel.com>
Date: Wed, 3 Apr 2019 11:01:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.6.0
MIME-Version: 1.0
In-Reply-To: <DC695E1BE92F754CA2AE786BE043D81318DDD43C@hasmsx107.ger.corp.intel.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Subject: Re: [dpdk-dev] [PATCH 3/3] test: add UT for power turbo feature
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>
Message-ID: <20190403100104.hHMcMEWSeBs7916XFzIe2lM9GPIFffsZS93qfCtR9Ls@z>

On 03-Apr-19 10:07 AM, Krakowiak, LukaszX wrote:
> Hi,
> 
>> On 07-Mar-19 1:59 PM, Lukasz Krakowiak wrote:
>>> Add UT check_power_turbo.
>>>
>>> Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
>>> ---
>>>    app/test/test_power_cpufreq.c | 72
>> +++++++++++++++++++++++++++++++++++
>>>    1 file changed, 72 insertions(+)
>>>
>>> diff --git a/app/test/test_power_cpufreq.c
>>> b/app/test/test_power_cpufreq.c index d099f2f47..c75c9bf1c 100644
>>> --- a/app/test/test_power_cpufreq.c
>>> +++ b/app/test/test_power_cpufreq.c
>>> @@ -366,6 +366,59 @@ check_power_freq_min(void)
>>>    	return 0;
>>>    }
>>>
>>> +/* Check rte_power_turbo() */
>>> +static int
>>> +check_power_turbo(void)
>>> +{
>>> +	int ret;
>>> +
>>> +	if (rte_power_turbo_status(TEST_POWER_LCORE_ID) == 0) {
>>> +		printf("Turbo not available on lcore %u, skipping test\n",
>>> +		TEST_POWER_LCORE_ID);
>>
>> Misleading indentation, please add two tabs to the second line of
>> printf() statement.
>>
>>> +		return 0;
>>> +	}
>>> +
>>> +	/* test with an invalid lcore id */
>>> +	ret = rte_power_freq_enable_turbo(TEST_POWER_LCORE_INVALID);
>>> +	if (ret >= 0) {
>>> +		printf("Unexpectedly enable turbo successfully "
>>> +				"on lcore %u\n",
>> TEST_POWER_LCORE_INVALID);
>>
>> Please don't break up strings to multiple lines.
>>
>>> +		return -1;
>>> +	}
>>> +	ret = rte_power_freq_enable_turbo(TEST_POWER_LCORE_ID);
>>> +	if (ret < 0) {
>>> +		printf("Fail to enable turbo on lcore %u\n",
>>> +
>> 	TEST_POWER_LCORE_ID);
>>
>> I wish there was a middle ground between no indentation and way too much
>> indentation...
>>
>>> +		return -1;
>>> +	}
>>> +
>>> +	/* Check the current frequency */
>>> +	ret = check_cur_freq(TEST_POWER_LCORE_ID, 0);
>>> +	if (ret < 0)
>>> +		return -1;
>>> +
>>> +	/* test with an invalid lcore id */
>>> +	ret = rte_power_freq_disable_turbo(TEST_POWER_LCORE_INVALID);
>>> +	if (ret >= 0) {
>>> +		printf("Unexpectedly disable turbo successfully "
>>> +				"on lcore %u\n",
>> TEST_POWER_LCORE_INVALID);
>>
>> Same as above, don't break up strings.
>>
>>> +		return -1;
>>> +	}
>>> +	ret = rte_power_freq_disable_turbo(TEST_POWER_LCORE_ID);
>>> +	if (ret < 0) {
>>> +		printf("Fail to disable turbo on lcore %u\n",
>>> +
>> 	TEST_POWER_LCORE_ID);
>>
>> Same as above, two tabs is enough indentation.
>>
>>> +		return -1;
>>> +	}
>>> +
>>> +	/* Check the current frequency */
>>> +	ret = check_cur_freq(TEST_POWER_LCORE_ID, 1);
>>> +	if (ret < 0)
>>> +		return -1;
>>> +
>>> +	return 0;
>>> +}
>>> +
>>>    static int
>>>    test_power_cpufreq(void)
>>>    {
>>> @@ -427,6 +480,21 @@ test_power_cpufreq(void)
>>>    				"been initialised\n");
>>>    		goto fail_all;
>>>    	}
>>> +	if (rte_power_turbo_status == NULL) {
>>> +		printf("rte_power_turbo_status should not be NULL,
>> environment has not "
>>> +				"been initialised\n");
>>
>> Here and below:
>>
>> I don't think saying *why* it should not be NULL - just saying that it shouldn't be
>> NULL is enough. Maybe mention why it's supposed to be not NULL in comments
>> here.
>>
>> Also, i have a suspicion that the message is wrong - why would status be null if
>> the environment was initialized? Presumably it's the other way around?
> 
> I think this is correctly: if env was initialized, pointer != NULL, otherwise env wasn't initialized.
> Rest of all, you are right: coding style issues. Thanks.

The check is if rte_power_turbo_status is equal to NULL. If the check 
fails (i.e. rte_power_turbo_status is not NULL), we get an error message 
saying that rte_power_turbo_status should not be NULL. That doesn't 
compute :) Either it should not be NULL and the check is wrong, or it 
should be NULL and the error message is wrong.

>>
>>> +		goto fail_all;
>>> +	}
>>> +	if (rte_power_freq_enable_turbo == NULL) {
>>> +		printf("rte_power_freq_enable_turbo should not be NULL,
>> environment has not "
>>> +				"been initialised\n");
>>> +		goto fail_all;
>>> +	}
>>> +	if (rte_power_freq_disable_turbo == NULL) {
>>> +		printf("rte_power_freq_disable_turbo should not be NULL,
>> environment has not "
>>> +				"been initialised\n");
>>> +		goto fail_all;
>>> +	}
>>>
>>>    	ret = rte_power_exit(TEST_POWER_LCORE_ID);
>>>    	if (ret < 0) {
>>> @@ -502,6 +570,10 @@ test_power_cpufreq(void)
>>>    	if (ret < 0)
>>>    		goto fail_all;
>>>
>>> +	ret = check_power_turbo();
>>> +	if (ret < 0)
>>> +		goto fail_all;
>>> +
>>>    	ret = rte_power_exit(TEST_POWER_LCORE_ID);
>>>    	if (ret < 0) {
>>>    		printf("Cannot exit power management for lcore %u\n",
>>>
>>
>>
>> --
>> Thanks,
>> Anatoly


-- 
Thanks,
Anatoly