From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 18F64A04B7; Wed, 14 Oct 2020 16:20:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 85D821DE6F; Wed, 14 Oct 2020 16:19:56 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 5A8201DB7E for ; Wed, 14 Oct 2020 16:19:54 +0200 (CEST) IronPort-SDR: G0CXTnZS1G81XXAAdGyVrPcksq0JoUJtpG8R8sg9Nk/ts4rMA5uoCe4PB1mJDUzOimnBPt2JkE pKGjEzwIKBMQ== X-IronPort-AV: E=McAfee;i="6000,8403,9773"; a="227752935" X-IronPort-AV: E=Sophos;i="5.77,374,1596524400"; d="scan'208";a="227752935" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Oct 2020 07:19:53 -0700 IronPort-SDR: v+D0q/2ryH++qMAJKLDsPB2gH2S2I8uCyfv7nvCeBJkxrVeVdzEuC7KG9sp8gbjuI4sLP4p4uJ WyOR9fSp9C4Q== X-IronPort-AV: E=Sophos;i="5.77,374,1596524400"; d="scan'208";a="530847233" Received: from dhunt5-mobl5.ger.corp.intel.com (HELO [10.252.53.230]) ([10.252.53.230]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Oct 2020 07:19:50 -0700 To: Anatoly Burakov , dev@dpdk.org Cc: Liang Ma , Ray Kinsella , Neil Horman , konstantin.ananyev@intel.com, jerinjacobk@gmail.com, bruce.richardson@intel.com, thomas@monjalon.net, timothy.mcdaniel@intel.com, gage.eads@intel.com, chris.macnamara@intel.com References: <532f45c5d79b4c30a919553d322bb66e91534466.1602258833.git.anatoly.burakov@intel.com> From: David Hunt Message-ID: Date: Wed, 14 Oct 2020 15:19:47 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Subject: Re: [dpdk-dev] [PATCH v6 05/10] power: add PMD power management API and callback 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 14/10/2020 2:30 PM, Anatoly Burakov wrote: > From: Liang Ma > > Add a simple on/off switch that will enable saving power when no > packets are arriving. It is based on counting the number of empty > polls and, when the number reaches a certain threshold, entering an > architecture-defined optimized power state that will either wait > until a TSC timestamp expires, or when packets arrive. > > This API mandates a core-to-single-queue mapping (that is, multiple > queued per device are supported, but they have to be polled on different > cores). > > This design is using PMD RX callbacks. > > 1. UMWAIT/UMONITOR: > > When a certain threshold of empty polls is reached, the core will go > into a power optimized sleep while waiting on an address of next RX > descriptor to be written to. > > 2. Pause instruction > > Instead of move the core into deeper C state, this method uses the > pause instruction to avoid busy polling. > > 3. Frequency scaling > Reuse existing DPDK power library to scale up/down core frequency > depending on traffic volume. > > Signed-off-by: Liang Ma > Signed-off-by: Anatoly Burakov > --- Hi Liang, Anatoly, great work on the patch set. Acked-by: David Hunt