From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 94AF01B10A for ; Fri, 28 Sep 2018 14:52:05 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Sep 2018 05:52:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,315,1534834800"; d="scan'208";a="84183742" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by FMSMGA003.fm.intel.com with ESMTP; 28 Sep 2018 05:52:03 -0700 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id w8SCq2n6014169; Fri, 28 Sep 2018 13:52:02 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w8SCq2vZ032404; Fri, 28 Sep 2018 13:52:02 +0100 Received: (from lma25@localhost) by sivswdev01.ir.intel.com with LOCAL id w8SCq1UA032367; Fri, 28 Sep 2018 13:52:01 +0100 Date: Fri, 28 Sep 2018 13:52:01 +0100 From: "Liang, Ma" To: "Hunt, David" Cc: "Kovacevic, Marko" , "dev@dpdk.org" , "Yao, Lei A" , "ktraynor@redhat.com" , "Geary, John" Message-ID: <20180928125201.GA8171@sivswdev01.ir.intel.com> 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> <19c8acb5-83af-7ec5-57e8-72a4d078c630@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <19c8acb5-83af-7ec5-57e8-72a4d078c630@intel.com> User-Agent: Mutt/1.4.2.3i 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:52:06 -0000 Hi Dave, thanks for your feedback. I will update document in v9. O 28 Sep 13:43, Hunt, David wrote: > 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 > > >