From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 6B8F82C4B for ; Fri, 6 May 2016 13:11:17 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 06 May 2016 04:11:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,586,1455004800"; d="scan'208";a="973967411" Received: from rhorton-mobl.ger.corp.intel.com (HELO VM.ir.intel.com) ([163.33.228.56]) by fmsmga002.fm.intel.com with ESMTP; 06 May 2016 04:11:16 -0700 From: Remy Horton To: dev@dpdk.org Date: Fri, 6 May 2016 12:11:11 +0100 Message-Id: <1462533074-1994-1-git-send-email-remy.horton@intel.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1460731462-21229-1-git-send-email-remy.horton@intel.com> Subject: [dpdk-dev] [RFC PATCH v2 0/3] Remove string operations from xstats X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 May 2016 11:11:17 -0000 The current extended ethernet statistics fetching involve doing several string operations, which causes performance issues if there are lots of statistics and/or network interfaces. This RFC patchset changes the API for xstats to use integer identifiers instead of strings and implements this new API for the ixgbe driver. Others drivers to follow. -- v2 changes: * Fetching xstats count now seperate API function * Added #define constants for some magic numbers * Fixed bug with virtual function count fetching * For non-xstats-supporting drivers, queue stats returned * Some refactoring/cleanups * Removed index assumption from example Remy Horton (3): rte: change xstats to use integer keys drivers/net/ixgbe: change xstats to use integer keys examples/ethtool: add xstats display command drivers/net/ixgbe/ixgbe_ethdev.c | 98 ++++++++++++++++++++++++++++----- examples/ethtool/ethtool-app/ethapp.c | 57 +++++++++++++++++++ lib/librte_ether/rte_ethdev.c | 100 +++++++++++++++++++++++++++++----- lib/librte_ether/rte_ethdev.h | 55 +++++++++++++++++++ 4 files changed, 284 insertions(+), 26 deletions(-) -- 2.5.5