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 4716568CF for ; Mon, 30 May 2016 12:48:16 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP; 30 May 2016 03:48:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,389,1459839600"; d="scan'208";a="817650897" Received: from rhorton-mobl.ger.corp.intel.com (HELO VM.ir.intel.com) ([163.33.228.212]) by orsmga003.jf.intel.com with ESMTP; 30 May 2016 03:48:13 -0700 From: Remy Horton To: dev@dpdk.org, Thomas Monjalon , Helin Zhang , Wenzhuo Lu , Jing Chen , Huawei Xie Date: Mon, 30 May 2016 11:48:02 +0100 Message-Id: <1464605292-4599-1-git-send-email-remy.horton@intel.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1462533074-1994-1-git-send-email-remy.horton@intel.com> Subject: [dpdk-dev] [PATCH v3 00/10] 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: Mon, 30 May 2016 10:48:16 -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 patchset changes the API for xstats to use integer identifiers instead of strings and implements this new API for the ixgbe, i40e, e1000, fm10k, and virtio drivers. -- v3 changes: * Corrected ixgbe vf xstats fetching * Added xstats changes to e1000, f10k, and virtio drivers * Added cleanup patch that removes now-redundant name field * Removed ethtool xstats command * Removed unused .xstats_count from eth-dev_ops * Changed test-pmd & proc_info to use new API * Added documentation update * Added missing changes to .map file (affected shared lib builds) 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 (10): rte: change xstats to use integer ids drivers/net/ixgbe: change xstats to use integer ids drivers/net/e1000: change xstats to use integer ids drivers/net/fm10k: change xstats to use integer ids drivers/net/i40e: change xstats to use integer ids drivers/net/virtio: change xstats to use integer ids app/test-pmd: change xstats to use integer ids app/proc_info: change xstats to use integer ids remove name field from struct rte_eth_xstats doc: update xstats documentation app/proc_info/main.c | 26 ++++++++- app/test-pmd/config.c | 52 +++++++++++++---- doc/guides/prog_guide/poll_mode_drv.rst | 25 +++++++-- drivers/net/e1000/igb_ethdev.c | 50 +++++++++++++++-- drivers/net/fm10k/fm10k_ethdev.c | 52 ++++++++++++++--- drivers/net/i40e/i40e_ethdev.c | 77 +++++++++++++++++++++----- drivers/net/i40e/i40e_ethdev_vf.c | 24 +++++++- drivers/net/ixgbe/ixgbe_ethdev.c | 98 ++++++++++++++++++++++++++++----- drivers/net/virtio/virtio_ethdev.c | 60 +++++++++++++++++--- lib/librte_ether/rte_ethdev.c | 92 ++++++++++++++++++++++++++++--- lib/librte_ether/rte_ethdev.h | 44 ++++++++++++++- lib/librte_ether/rte_ether_version.map | 7 +++ 12 files changed, 527 insertions(+), 80 deletions(-) -- 2.5.5