From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 42B362C8 for ; Mon, 5 Mar 2018 12:25:40 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Mar 2018 03:25:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,426,1515484800"; d="scan'208,217";a="208887769" Received: from dhunt5-mobl2.ger.corp.intel.com (HELO [10.237.221.65]) ([10.237.221.65]) by fmsmga005.fm.intel.com with ESMTP; 05 Mar 2018 03:25:38 -0800 To: longtb5@viettel.com.vn, dev@dpdk.org References: <000201d3b1f7$4b622cc0$e2268640$@viettel.com.vn> <000901d3b1f7$8b2f55d0$a18e0170$@viettel.com.vn> <001a01d3b470$0f015a00$2d040e00$@viettel.com.vn> From: "Hunt, David" Message-ID: <0f17897c-590d-d405-6ae9-e79c62b0ba43@intel.com> Date: Mon, 5 Mar 2018 11:25:56 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <001a01d3b470$0f015a00$2d040e00$@viettel.com.vn> Content-Language: en-US Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] librte_power w/ intel_pstate cpufreq governor X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 11:25:41 -0000 Hi BL, On 5/3/2018 10:48 AM, longtb5@viettel.com.vn wrote: > Hi Dave, > > Actually in my test lab which is a HP box running CentOS 7 on kernel version > 3.10.0-693.5.2.el7.x86_64, the default cpufreq driver is pcc_cpufreq. So I guess > disabling intel_pstate wouldn't help in my case. > > # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver > pcc-cpufreq > > # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors > conservative userspace powersave ondemand performance > > According to kernel doc, pcc_cpufreq also doesn't export scaling_availabe_frequencies > in sysfs. > > From kernel doc: > "scaling_available_frequencies is not created in /sys. No intermediate > frequencies need to be listed because the BIOS will try to achieve any > frequency, within limits, requested by the governor. A frequency does not have > to be strictly associated with a P-state." > > The lack of scaling_availabe_frequencies makes power_acpi_cpufreq_init() > complains, similar to the problem with intel_pstate as in the other thread. > I have tried (though with not much effort) to force the kernel > to use acpi-cpufreq instead but without success. > > Luckily, as quoted above pcc_cpufreq supports setting of arbitrary frequency, > so a simple workaround for now is to fake a scaling_available_frequencies file > in another directory, then edit the code in librte_power to use that file instead. > > Regards, > -BL > >> -----Original Message----- >> From: david.hunt@intel.com [mailto:david.hunt@intel.com] >> Sent: Monday, March 5, 2018 5:16 PM >> To: longtb5@viettel.com.vn; dev@dpdk.org >> Subject: Re: [dpdk-dev] librte_power w/ intel_pstate cpufreq governor >> >> Hi BL, >> >> I have always used "intel_pstate=disable" in my kernel parameters at boot so >> as to disable the intel_pstate driver, and force the kernel to use the acpi- >> cpufreq driver: >> >> # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver >> acpi-cpufreq >> >> This then gives me the following options for the governor: >> ['conservative', 'ondemand', 'userspace', 'powersave', 'performance', >> 'schedutil'] >> >> Because DPDK threads typically poll, they appear as 100% busy to the p_state >> driver, so if you want to be able to change core frequency down (as in l3fwd- >> power), you need to use the acpi-cpufreq driver. >> >> I had a read through the docs just now, and this does not seem to be >> mentioned, so I'll do up a patch to give some information on the correct >> kernel parameters to use when using the power library. >> >> Regards, >> Dave. >> >> On 2/3/2018 7:20 AM, longtb5@viettel.com.vn wrote: >>> Forgot to link the original thread. >>> >>> http://dpdk.org/ml/archives/dev/2016-January/030930.html >>> >>> -BL >>> >>>> -----Original Message----- >>>> From: longtb5@viettel.com.vn [mailto:longtb5@viettel.com.vn] >>>> Sent: Friday, March 2, 2018 2:19 PM >>>> To: dev@dpdk.org >>>> Cc: david.hunt@intel.com; mhall@mhcomputing.net; >>>> helin.zhang@intel.com; longtb5@viettel.com.vn >>>> Subject: librte_power w/ intel_pstate cpufreq governor >>>> >>>> Hi everybody, >>>> >>>> I know this thread was from over 2 years ago but I ran into the same >>> problem >>>> with l3fwd-power today. >>>> >>>> Any updates on this? >>>> >>>> -BL Good to hear you found a workaround. So the issue really is "Getting the Power Library working with the ppc-cpufreq kernel driver" :) From wiki.archlinux.org: ppc-cpufreq: his driver supports Processor Clocking Control interface by Hewlett-Packard and Microsoft Corporation which is useful on some ProLiant servers. In the following doc: https://www.kernel.org/doc/Documentation/cpu-freq/pcc-cpufreq.txt it mentions - "When PCC mode is enabled, the platform will not expose processor performance or throttle states (_PSS, _TSS and related ACPI objects) to OSPM. Therefore,the native P-state driver (such as acpi-cpufreq for Intel, powernow-k8 forAMD) will not load". Is there a way to disable PPC mode in the BIOS on that server? From that wording, it seems to imply imply that there is a way to disable PPC (seeing that it can be enabled). If you can't disbale PPC, I would suggest that a patch may be needed to allow the power library detect if it's using acpi or ppc, and obtain a list of cpu frequencies accordingly. However, I don't have any HP servers available to me, so I'm currently unable to research a method of getting a list of valid cpu frequencies on a machine using the ppc driver. If you come up with a snippet of code for listing available frequencies on that server, let me know and we can look at adding that into the power library. :) Regards, Dave.