From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailfilter01.viettel.com.vn (mailfilter01.viettel.com.vn [125.235.240.53]) by dpdk.org (Postfix) with ESMTP id 3B76C29D6 for ; Thu, 1 Feb 2018 13:08:45 +0100 (CET) X-IronPort-AV: E=Sophos;i="5.46,444,1511802000"; d="scan'208,217";a="73092692" Received: from 125.235.240.45.adsl.viettel.vn (HELO mta2.viettel.com.vn) ([125.235.240.45]) by mailfilter01.viettel.com.vn with ESMTP; 01 Feb 2018 19:08:33 +0700 Received: from localhost (localhost [127.0.0.1]) by mta2.viettel.com.vn (Postfix) with ESMTP id 766F16A3C61; Thu, 1 Feb 2018 19:08:24 +0700 (ICT) Received: from mta2.viettel.com.vn ([127.0.0.1]) by localhost (mta2.viettel.com.vn [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id j1RqrWNOV6NP; Thu, 1 Feb 2018 19:08:24 +0700 (ICT) Received: from localhost (localhost [127.0.0.1]) by mta2.viettel.com.vn (Postfix) with ESMTP id 53F476A3C58; Thu, 1 Feb 2018 19:08:24 +0700 (ICT) X-Virus-Scanned: amavisd-new at Received: from mta2.viettel.com.vn ([127.0.0.1]) by localhost (mta2.viettel.com.vn [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Li-JclR-NOSV; Thu, 1 Feb 2018 19:08:24 +0700 (ICT) Received: from ANMLONGTB5 (unknown [27.68.241.28]) by mta2.viettel.com.vn (Postfix) with ESMTPSA id 1FC7C6A3C61; Thu, 1 Feb 2018 19:08:24 +0700 (ICT) To: Cc: , Message-ID: <000001d39b55$d4acb490$7e061db0$@viettel.com.vn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AdObVZJpsn6OhPiuQmKLy4Ym9lSEug== Content-Language: en-us MilterAction: FORWARD Date: Thu, 1 Feb 2018 19:08:24 +0700 (ICT) From: longtb5@viettel.com.vn Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-users] Understanding ip_pipeline thread headroom X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Feb 2018 12:08:47 -0000 Hi, The `thread` command in the ip_pipeline application is not documented. By chance, I found in git log this interesting functionality. > examples/ip_pipeline: measure CPU utilization > > This patch adds CPU utilization measurement and idle cycle rate > computation to packet framework. The measurement is done by measuring > the cycles spent while a thread pulls zero packet from RX queue. These > cycles are treated as idle cycles (or headroom). A CLI command is added > to display idle cycle rate of specific thread. The CLI command format is > shown as following: > > t headroom This command seems to be useful for power management. However I'm not quite sure how to interpret the reported percentage of `thread headroom`. For example, when I have ip_pipeline receiving packets at line rate, thread headroom value for every pipeline module is close to 0%, as expected. But when I send no packet at all, this value doesn't go up above 60%. In fact, pipeline master reports a value of around 80%, when it doesn't receive or process packets at all. Shouldn't it be 100%? Please let me know if I misunderstood anything. Thanks, -BL