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 4320CA04C5; Fri, 4 Sep 2020 18:36:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ADB091C0CD; Fri, 4 Sep 2020 18:36:58 +0200 (CEST) Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by dpdk.org (Postfix) with ESMTP id 848A31C0C6 for ; Fri, 4 Sep 2020 18:36:56 +0200 (CEST) Received: by mail-pj1-f41.google.com with SMTP id a9so255741pjg.1 for ; Fri, 04 Sep 2020 09:36:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=j44TsGS1osB9lRwmrokKdOIT2YDiC0R/SQuthZB3D1E=; b=UALMtjdtmUJjHZ6hKeB8fLiEDfzcFspnhiGE3skiLiiexUhyxgtoi/5mAMqI97r0Fe IgAZcjHsOK9YtaBEQfhKbN8Z1RqxNYS7JQEtjJBQHlxXMVtpGdiyNSLldwOciils+9Bw bkLXzz2Ii5JfT+q46PQwMlbutSCpfai3PTzvSf4NXtn1+H3aQIVrmUJL8tqTczVYqNuT x4iBHY/iiHVyLD3lLENBDhLHrbSJJPbmZFl9ARsHrrVtAP9p8bMW1FZBn9o+yZ3OoBRs poVFaoUVi3ixxIXqD3ZMegbeAO+7PYo2etluWpNU4pYdoYeUO7q8vmiv7OQO7WMRZ+tm lDuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=j44TsGS1osB9lRwmrokKdOIT2YDiC0R/SQuthZB3D1E=; b=pnMXntXIgcgz9KjrguzBFDksHRFQsfm/oz1eUuGlKDpi8lkk3z8+BDSTcTNVsTCiRl xRSHQwkQK3XW2cXDaiHk8Pq50MMor7fiuQZn6m2UFeBfGZitm/NyQsiGF1VuYJWK7a6U y4x13A7r8oOUOtoHkMvvQCP/Jpr/VAacO8nXwy0dRP14NQAgIflT1q6wBI0ZA8mfQUnZ JPSu1Joemmnx+8dgISTQY6Mi2WqoU0wbb4lF0wYfDH9NkM3plsY4hAEwCz27DifVA8M2 AwYpwWqfQ40WL/rxcKGyhEdd30QBFq5o/YKXEbKVVHmL8u96LJ3v/oZMhuFezuGwwFbl 57FA== X-Gm-Message-State: AOAM5338RDk9hiIn7fhcEyAoe7LvGoZrhSv7p5D63lqAkhbktqSxGoXY CCz7b/wW2F4LES7ZjxVEyHm4Ag== X-Google-Smtp-Source: ABdhPJz8WIevkkVTFdCHqk4NzhMM2jR6QJCYO3sv4WQn5cCP6ciu/jZ5YJ1pBpe/PgQo2U8AXB88hg== X-Received: by 2002:a17:902:c086:: with SMTP id j6mr9435549pld.230.1599237415368; Fri, 04 Sep 2020 09:36:55 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id nu14sm5471115pjb.19.2020.09.04.09.36.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2020 09:36:55 -0700 (PDT) Date: Fri, 4 Sep 2020 09:36:46 -0700 From: Stephen Hemminger To: Liang Ma Cc: dev@dpdk.org, david.hunt@intel.com, anatoly.burakov@intel.com Message-ID: <20200904093646.18fe7caf@hermes.lan> In-Reply-To: <1599214740-3927-3-git-send-email-liang.j.ma@intel.com> References: <1597141666-20621-1-git-send-email-liang.j.ma@intel.com> <1599214740-3927-1-git-send-email-liang.j.ma@intel.com> <1599214740-3927-3-git-send-email-liang.j.ma@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v3 3/6] power: add simple 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 Fri, 4 Sep 2020 11:18:57 +0100 Liang Ma wrote: > 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 is limited to 1 core 1 port 1 queue use case as there is > no coordination between queues/cores in ethdev. 1 port map to multiple > core will be supported in next version. The common way to express is this is: This API is not thread-safe and not preempt-safe. There is also no mechanism for a single thread to wait on multiple queues. > > This design leverage RX Callback mechnaism which allow three > different power management methodology co exist. nit coexist is one word > > 1. umwait/umonitor: > > The TSC timestamp is automatically calculated using current > link speed and RX descriptor ring size, such that the sleep > time is not longer than it would take for a NIC to fill its > entire RX descriptor ring. > > 2. Pause instruction > > Instead of move the core into deeper C state, this lightweight > method use Pause instruction to releaf the processor from > busy polling. Wording here is a problem, and "releaf" should be "relief"? Rewording into active voice grammar would be easier. Use Pause instruction to allow processor to go into deeper C state when busy polling. > > 3. Frequency Scaling > Reuse exist rte power library to scale up/down core frequency > depend on traffic volume.