From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 8A29C1B444 for ; Fri, 28 Sep 2018 14:43:46 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Sep 2018 05:43:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,314,1534834800"; d="scan'208";a="94728973" Received: from dhunt5-mobl2.ger.corp.intel.com (HELO [10.237.221.37]) ([10.237.221.37]) by orsmga001.jf.intel.com with ESMTP; 28 Sep 2018 05:43:29 -0700 To: "Kovacevic, Marko" , "Ma, Liang J" Cc: "dev@dpdk.org" , "Yao, Lei A" , "ktraynor@redhat.com" , "Geary, John" References: <1536070228-6545-1-git-send-email-liang.j.ma@intel.com> <1537191016-26330-1-git-send-email-liang.j.ma@intel.com> <1537191016-26330-4-git-send-email-liang.j.ma@intel.com> <6DC05C7C5F25994B81B3F2F214251F6602030CB1@IRSMSX104.ger.corp.intel.com> From: "Hunt, David" Message-ID: <19c8acb5-83af-7ec5-57e8-72a4d078c630@intel.com> Date: Fri, 28 Sep 2018 13:43:28 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <6DC05C7C5F25994B81B3F2F214251F6602030CB1@IRSMSX104.ger.corp.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH v8 4/4] doc/guides/sample_app_ug/l3_forward_power_man.rst: empty poll update 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: Fri, 28 Sep 2018 12:43:47 -0000 Hi Liang, I think section 21.4 "Running the Application" needs mention the empty poll feature. Maybe just add a mention *   --empty-poll: Traffic Aware power management. See below for details. On 25/9/2018 2:20 PM, Kovacevic, Marko wrote: >> Add empty poll mode command line example >> >> Signed-off-by: Liang Ma >> --- >> doc/guides/sample_app_ug/l3_forward_power_man.rst | 29 >> +++++++++++++++++++++++ >> 1 file changed, 29 insertions(+) >> >> +Empty Poll Mode >> +------------------------- >> +There is a new Mode which is added recently. Empty poll mode can be >> +enabled by command option --empty-poll. In a couple of years time, it won't be 'new' or 'recent' any more. :) Suggest: Additionally, there is a traffic aware mode of operation called "Empty Poll" where the number of empty polls can be monitored to keep track of how busy the application is.Empty poll mode can be enabled by the command line option --empty-poll. >> + >> +See "Power Management" chapter in the DPDK Programmer's Guide for >> empty poll mode details. > Can you embed the link to the Power Management chapter > :doc:`Power Management<../prog_guide/power_man>` > > >> +.. code-block:: console >> + >> + ./l3fwd-power -l xxx -n 4 -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P -- >> config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1 >> + >> +Where, >> + >> +--empty-poll: Enable the empty poll mode instead of original algorithm >> + >> +--empty-poll="training_flag, med_threshold, high_threshold" >> + >> +* training_flag : optional, enable/disable training mode. Default value is 0. >> + >> +* med_threshold : optional, indicate the empty poll threshold of modest >> state which is customized by user. Default value is 0. >> + >> +* high_threshold : optional, indicate the empty poll threshold of busy state >> which is customized by user. Default value is 0. >> + >> +* -l : optional, set up the LOW power state frequency index >> + >> +* -m : optional, set up the MED power state frequency index >> + >> +* -h : optional, set up the HIGH power state frequency index > I think in this over all section needs a lot more explanation like what are valid training flags and how to get thresholds ect. > > Also you could highlight the commands it looks better: ``training_flag`` I'd suggest adding a "Empty Poll Mode Example Usage" section as a sub-section to the "Empty Poll Mode" section, which could contain something along the lines of the following: Empty Poll Mode Example Usage To initially obtain the ideal thresholds for the system, the training mode should be run first. This is achieved by running the l3fwd-power app with the training flage set to “1”, and the other paramaters set to 0. ./examples/l3fwd-power/build/l3fwd-power -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --empty-poll "1,0,0" –P This will run the training algorithm for x seconds on each core (cores 2 and 3), and then print out the recommended threshold values for those cores. The thresholds should be very similar for each core. POWER: Bring up the Timer POWER: set the power freq to MED POWER: Low threshold is 230277 POWER: MED threshold is 335071 POWER: HIGH threshold is 523769 POWER: Training is Complete for 2 POWER: set the power freq to MED POWER: Low threshold is 236814 POWER: MED threshold is 344567 POWER: HIGH threshold is 538580 POWER: Training is Complete for 3 Once the values have been measured for a particular system, the app can then be started without the training mode so traffic can start immediately. ./examples/l3fwd-power/build/l3fwd-power -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --empty-poll "0,340000,540000" –P