From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 15CEDA0C4C; Thu, 14 Oct 2021 09:59:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03388411A2; Thu, 14 Oct 2021 09:59:37 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 885B64112E for ; Thu, 14 Oct 2021 09:59:35 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10136"; a="227583383" X-IronPort-AV: E=Sophos;i="5.85,372,1624345200"; d="scan'208";a="227583383" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Oct 2021 00:59:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,372,1624345200"; d="scan'208";a="487238613" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga007.fm.intel.com with ESMTP; 14 Oct 2021 00:59:34 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 14 Oct 2021 00:59:34 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 14 Oct 2021 00:59:33 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Thu, 14 Oct 2021 00:59:33 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 14 Oct 2021 00:59:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VFbUbskX08ydgqMwpxLu91doyYubnjjj9DFOdt0MSNExO0so+Wnmx6MFWEMj1ZOfcMXeWoFbkdNNfqho0FlIM0cUAAC1K0afnMXK12F79Mf+fLuUzqlPU7+W4ps1/JT+34jay8aT0yubV3J2+4iumiQ71Wvevi4Ro3HGrhZ6+KlxBr6V8mOffm1vYzxgstNwR5Q3eXGBDmCFsoaZLo2YTSeW+Jky9FfJjA08dUSUk6tC7/fFva4eFDQv6/SdXyvwn3iAjjngEOPFE8+EHOFe24qbbIwnThSW9O7QlnjTw/MpEPbH/JRrVLbyeamYi3Ri1BGRxBhVKIw4bIpCGBL39Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HlOIAnKsLSc1PTMiHz/32wGRP8oCjDF2V+1+gBu0SV0=; b=VZc43LoG97S7xZHkoAquf1N9+Pavats/K6W07xr8sRhu9DZSUgscm70Pv43G+opLfinrED2POGZ8rK5nxHPUmL2ofJvNo0jfeICEVtaTfVaSGMiPEJ4xhj3el5ja44M/ZvR+KualMen/OZl39H6kCj9+Qv3dfPpdy7lFBPmPn7Zx9Q9zppSNfT54ItKorMckwWSVd2XJJ23xG7Oo/XrykpjpjaFivAfG0z1WSqLErsdV5LSljE8j07XMhs/uISRXWHUWdPHc9r97GmPMufQghAHMBRLzoSsjWm17r96c4GRTWd/o26yfuRM6VcBFC/lr6nHbol2oOQr5pfkQjCjqow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HlOIAnKsLSc1PTMiHz/32wGRP8oCjDF2V+1+gBu0SV0=; b=BWqOhd05OdtTJN21A8GPnCgLLtmzQPUjDRyh4GXJNIyn3zSsP9teBPb8ZLcJ6jr9kziUt0ue4vfJcURuwSBWDANwESKu1WuYTdrLbgRs/1khjXAzsYS5D5XCk5TkoXO58cmaWuyOf0PUfzQ3hdUSrG+hXNJ5gxfCq81iS/3/aXY= Authentication-Results: trustnetic.com; dkim=none (message not signed) header.d=none;trustnetic.com; dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by PH0PR11MB5173.namprd11.prod.outlook.com (2603:10b6:510:39::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.22; Thu, 14 Oct 2021 07:59:32 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::bd7d:29be:3342:632c]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::bd7d:29be:3342:632c%5]) with mapi id 15.20.4608.016; Thu, 14 Oct 2021 07:59:32 +0000 Message-ID: Date: Thu, 14 Oct 2021 08:59:26 +0100 Content-Language: en-US To: Jiawen Wu CC: References: <20210908083758.312055-1-jiawenwu@trustnetic.com> <20210908083758.312055-9-jiawenwu@trustnetic.com> <6f9b2986-eb44-0729-b98a-9972abaa35fc@intel.com> <000801d7c0a6$681045c0$3830d140$@trustnetic.com> From: Ferruh Yigit X-User: ferruhy In-Reply-To: <000801d7c0a6$681045c0$3830d140$@trustnetic.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DB8PR04CA0027.eurprd04.prod.outlook.com (2603:10a6:10:110::37) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 Received: from [192.168.0.206] (37.228.236.146) by DB8PR04CA0027.eurprd04.prod.outlook.com (2603:10a6:10:110::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16 via Frontend Transport; Thu, 14 Oct 2021 07:59:31 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3fd23ada-98f1-406b-e2ed-08d98ee88e62 X-MS-TrafficTypeDiagnostic: PH0PR11MB5173: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1850; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2J+y1WU8uWX974Hgx896ylZYNpRLbGZ9JuBoZb43fspjoI7/45E3uCPA24ShvTnuVuDhcBhjrx8w+n7CZPf+xReySYWOP8CenFVwPNS4sUs8x1nHIAfekWlvX4nNtMDBf9iKfuO+GO9+1Gth1ZRYNno763wDvP0K6YhSIVNkWEINlXp2/cm+tZ4fXMsFpvEvA8P7Jr9ci0IhRi5fqhhm1lRqYKrct6ij8JhKVO5j7pLxINxRuYElA6ZJFPUQzQ+h1W5K7slvuipQeiKdtuS2FMl3WYb53JjUxHHbtNu6GJBm4JwALb7f/t3guWW+PMbjNoBrEtimcXPXgCTKoNUllNSpqmOAD1Eo7CNDF5oO+PGVd6BtTgtyHdobk0CVTw02Jxea/Lu2qfFXlDks+8G3dtlWf/kOEmqGDkIdD4t7RQTzmoHhuHx62KqMJK37wsxutmS+8rTAH5g9PTH1wvikAOPhnBfU+sGDizufaQWW0YfEZA04EyeCXUN+jutzXgxbLlvovKrkXP4LXVMHYo2PnHQhC6FFESbt+/8WOergX42Ms1FItWa8hItM9hgfuMSPBsDs/yWEQuMw6IMOMaAxIEWv/HgPFnbwWhw6BpQ+K5/KvoRZsZsksfcJ4UqjdHqt4Z3rRUk/ZzNU8hjI1K4bsiSubqKda2x/VgqPlVOH6xdnb6AKtK2CX5A2o+d8jrCbBoFafnoKpJ10LFIQrwcR5g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(26005)(2906002)(53546011)(8676002)(316002)(82960400001)(66476007)(6666004)(6486002)(31696002)(16576012)(66946007)(38100700002)(8936002)(2616005)(508600001)(5660300002)(36756003)(86362001)(186003)(4326008)(66556008)(956004)(31686004)(6916009)(44832011)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WUlDK1l3TnllRVJhZlN0bHUyeUVSOUdFelhhdnc0QTZYL1FBV0tnS2x6Qlcr?= =?utf-8?B?OE1IdWFHYzdmajVrMUFLK0ZyYWdaVGduVlAxRmU3UTFTdjB5blU0ejlKNTVG?= =?utf-8?B?bURhWnJVdElRbzNJRXdBOE13SE4yT3A3YXFFeC9aamNTc0U1eFk2T1gyM1BF?= =?utf-8?B?S2s3aUZHOWl6QU1HV1ltbXZCMkJZWlRGUnRQSzlJcXppMCtPMS9BbWFQQ2lw?= =?utf-8?B?RXhrc3lVSHZodFJNeFE2MEk0d1BXUTVOVkNtUW4yNDhnMWdKeGNqS2tZbjcv?= =?utf-8?B?VXNOTUgvWEkrOVNuNVgxMWI3Q1BTd05ZZnZ5SERoa3B5bnBoS2NzRzJxK0Zy?= =?utf-8?B?SW00dURUcDBWV2hNSENkZ0h5dTh6VHU3bUEwYkdDaVFxZXQzYXJQTjYrdW1B?= =?utf-8?B?aEs0bjNFbHhRQ3FraHBxUm9UWU5Jdk1PQlNteDFpTURlYytnOGN6ekZac1VZ?= =?utf-8?B?dmV3Z2g5NlhrZEtBS3hBOVNhTFZvTVNVSyszV0pOaG83VU53ZXAwVUdnKy9J?= =?utf-8?B?QnU2Y2ZReHREOGVFSFdoaWlYVUZhRzNsWUFSVm5RUXNUbFF4OEg1djhuMlpp?= =?utf-8?B?S1BjYnp6dWo3OGM3YlYxTlppaGpyZG9ndEJ1N09qaHpRUW1PaklSOXpnb0hv?= =?utf-8?B?M2ZJNTRJWWRQTjRGcVJCS2dtTWl3bE1vdWVTcm1UOHlJYUFTNzJJNFJ2UWEx?= =?utf-8?B?U1diaFM4MDJhN1dDU3RzdGhHWEdoY1QzdlhPeUo3Mk1XOHU3dXVPL3p2WnVS?= =?utf-8?B?U2hmVTVnQng5OWEvLzZqV29BcDhLVFFPUnZvbEZjWXFRcHFTMThPTFIwWnF1?= =?utf-8?B?MTc0R2RRV3krWDNQcDl6RUk3Ym12dDA3Mk12WVFDLyt4V05qeFN0VjQwbWRi?= =?utf-8?B?eGlGZiszR2taZENoZ24xaGN0STk0cUthOXppOTFEYXRKMlp4enJhMCtMcFFs?= =?utf-8?B?ZnhZekhFc3ZWYTZMcHF5VENwamtvT1pUV3Qvemh2TDVVcWFSTGpPUnZxdVNI?= =?utf-8?B?WXdqU1dSdlAzemdlVkZIQS8rVDVuamd6RjZ0RmZ1aWxweDY3OWFaYkVGS2ZH?= =?utf-8?B?dzVXRCtTeStURThvWHp2Vmt5dDBDWnZPZHEyNzRzQlVSZUtxR3ErdTBwN2dJ?= =?utf-8?B?QWFkZ3VRTUpJazZUL004Y2VJUzMvVW9zS2t5ZDlYc2RQNlVJeTJ3N2xoWmQ4?= =?utf-8?B?TytRcitsc3IwenQ1bWlhSGFJS01qMFZlK1pGYW9xREg2ZUZkc285YVg3cnM2?= =?utf-8?B?ckM0N0MySUZpL0s5M2pqVXJMMWQvaHNUWnI4bGNVZk9WeTNzTnBuTS9PMm1m?= =?utf-8?B?R1dKVG1HRGo0RmVKNjJBTWh2eVlUTzZ3OWlvV3VJSjRISUxTUVNQZEVFdHVP?= =?utf-8?B?aHdhZVVaVElEQSs4cGZ6d01Ia2JWdkV3UHFLTFZxV3hjR0hyYTJXM09WMlFY?= =?utf-8?B?MmdlQ0I0MC9MWm5YK0JtZlRxTzUxN0grRGlTTEREY1I3MUpxUjIrR0NjUXg5?= =?utf-8?B?ZmtNYUZnTjhBWGVCSVhORmNEUXFZLyt4dUJYdkRLU2F2ZEJwYVd1bXUwbjho?= =?utf-8?B?RVBxYUFSbnBPdkkwRTYwQ2RQbGhPZG85eG1wNTlTd3NVZ3c3ZU1jUGVPVmd3?= =?utf-8?B?TjhzVit0bDA3K0swZWFSTUp4VEk0WlBmTUxyZWdBV1hUTWJMUk1vVXZLd2FC?= =?utf-8?B?dEpFNXJBM0lHQmg2eHlBeFVjaU1UanZFcG5MbnNEUDl4MFBjZkluZkhMVnZ6?= =?utf-8?Q?3LeOx85Fv6IwUl4S7o5YOq8f1AM4UZWPkRPiGPg?= X-MS-Exchange-CrossTenant-Network-Message-Id: 3fd23ada-98f1-406b-e2ed-08d98ee88e62 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2021 07:59:32.4905 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EqPwF3pq/OUKHti3txupN0upT5DWL3m9/cB3tz6thD5CH98/Mp8Nh5lUEgkqKHgb+F/SFY60aAm2YxuwERW8kg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5173 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 08/32] net/ngbe: support basic statistics X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 10/14/2021 3:51 AM, Jiawen Wu wrote: > On September 16, 2021 12:51 AM, Ferruh Yigit wrote: >> On 9/8/2021 9:37 AM, Jiawen Wu wrote: >>> Support to read and clear basic statistics, and configure per-queue >>> stats counter mapping. >>> >>> Signed-off-by: Jiawen Wu >>> --- >>> doc/guides/nics/features/ngbe.ini | 2 + >>> doc/guides/nics/ngbe.rst | 1 + >>> drivers/net/ngbe/base/ngbe_dummy.h | 5 + >>> drivers/net/ngbe/base/ngbe_hw.c | 101 ++++++++++ >>> drivers/net/ngbe/base/ngbe_hw.h | 1 + >>> drivers/net/ngbe/base/ngbe_type.h | 134 +++++++++++++ >>> drivers/net/ngbe/ngbe_ethdev.c | 300 >> +++++++++++++++++++++++++++++ >>> drivers/net/ngbe/ngbe_ethdev.h | 19 ++ >>> 8 files changed, 563 insertions(+) >>> >> >> <...> >> >>> +static int >>> +ngbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats >>> +*stats) { >>> + struct ngbe_hw *hw = ngbe_dev_hw(dev); >>> + struct ngbe_hw_stats *hw_stats = NGBE_DEV_STATS(dev); >>> + struct ngbe_stat_mappings *stat_mappings = >>> + NGBE_DEV_STAT_MAPPINGS(dev); >>> + uint32_t i, j; >>> + >>> + ngbe_read_stats_registers(hw, hw_stats); >>> + >>> + if (stats == NULL) >>> + return -EINVAL; >>> + >>> + /* Fill out the rte_eth_stats statistics structure */ >>> + stats->ipackets = hw_stats->rx_packets; >>> + stats->ibytes = hw_stats->rx_bytes; >>> + stats->opackets = hw_stats->tx_packets; >>> + stats->obytes = hw_stats->tx_bytes; >>> + >>> + memset(&stats->q_ipackets, 0, sizeof(stats->q_ipackets)); >>> + memset(&stats->q_opackets, 0, sizeof(stats->q_opackets)); >>> + memset(&stats->q_ibytes, 0, sizeof(stats->q_ibytes)); >>> + memset(&stats->q_obytes, 0, sizeof(stats->q_obytes)); >>> + memset(&stats->q_errors, 0, sizeof(stats->q_errors)); >>> + for (i = 0; i < NGBE_MAX_QP; i++) { >>> + uint32_t n = i / NB_QMAP_FIELDS_PER_QSM_REG; >>> + uint32_t offset = (i % NB_QMAP_FIELDS_PER_QSM_REG) * 8; >>> + uint32_t q_map; >>> + >>> + q_map = (stat_mappings->rqsm[n] >> offset) >>> + & QMAP_FIELD_RESERVED_BITS_MASK; >>> + j = (q_map < RTE_ETHDEV_QUEUE_STAT_CNTRS >>> + ? q_map : q_map % RTE_ETHDEV_QUEUE_STAT_CNTRS); >>> + stats->q_ipackets[j] += hw_stats->qp[i].rx_qp_packets; >>> + stats->q_ibytes[j] += hw_stats->qp[i].rx_qp_bytes; >>> + >>> + q_map = (stat_mappings->tqsm[n] >> offset) >>> + & QMAP_FIELD_RESERVED_BITS_MASK; >>> + j = (q_map < RTE_ETHDEV_QUEUE_STAT_CNTRS >>> + ? q_map : q_map % RTE_ETHDEV_QUEUE_STAT_CNTRS); >>> + stats->q_opackets[j] += hw_stats->qp[i].tx_qp_packets; >>> + stats->q_obytes[j] += hw_stats->qp[i].tx_qp_bytes; >>> + } >>> + >>> + /* Rx Errors */ >>> + stats->imissed = hw_stats->rx_total_missed_packets + >>> + hw_stats->rx_dma_drop; >>> + stats->ierrors = hw_stats->rx_crc_errors + >>> + hw_stats->rx_mac_short_packet_dropped + >>> + hw_stats->rx_length_errors + >>> + hw_stats->rx_undersize_errors + >>> + hw_stats->rx_oversize_errors + >>> + hw_stats->rx_illegal_byte_errors + >>> + hw_stats->rx_error_bytes + >>> + hw_stats->rx_fragment_errors; >>> + >>> + /* Tx Errors */ >>> + stats->oerrors = 0; >>> + return 0; >> >> You can consider keeping 'stats->rx_nombuf' stats too, this needs to be >> calculated by driver. >> > > I see ' stats->rx_nombuf = dev->data->rx_mbuf_alloc_failed' in the function rte_eth_stats_get, before calling stats_get ops. > Should I write it again here? > You are right, I missed it. Just updating 'rx_mbuf_alloc_failed' is sufficient.