From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0069.outbound.protection.outlook.com [104.47.38.69]) by dpdk.org (Postfix) with ESMTP id 19C921B1B9; Sat, 27 Jan 2018 22:16:32 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=F9/HLb66oSMkt0y+d7G6GnSyChKb1lC15b3CcrQ/eDE=; b=J4Cjy29URK1SvRzufUIDSFqOuVBSrR2db8WeSYLbzkYnMuk33RMkbv7mF4EvVGI66IYlGmovFVZg2vfBSqhpKWueUTukIFwSgkRMHZTCFDdt12HqJpTmUVThcw/+DiGIeczxqabXxcM6opCOFwJFGOQEc4WaUaT4qc2ebyE/dKs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.0.2) by DM5PR0701MB3669.namprd07.prod.outlook.com (2603:10b6:4:7e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Sat, 27 Jan 2018 21:16:30 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Rasesh Mody , ferruh.yigit@intel.com, Dept-EngDPDKDev@cavium.com, stable@dpdk.org Date: Sat, 27 Jan 2018 13:15:31 -0800 Message-Id: <1517087735-16191-8-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1517087735-16191-1-git-send-email-rasesh.mody@cavium.com> References: <1517087735-16191-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: BN6PR16CA0001.namprd16.prod.outlook.com (2603:10b6:404:f5::11) To DM5PR0701MB3669.namprd07.prod.outlook.com (2603:10b6:4:7e::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e7345879-3233-4711-1729-08d565cb3c79 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DM5PR0701MB3669; X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3669; 3:R8wEBeQ7xXShDW9ep/1dBk4xLBaH/8oYbvftShCF9YxjODXj58FDmVj6/B7Se8gnxCKujo8K3w9PbkAWZlK4utIJ/pTM9AsFllMH10cSVNgIId4uRtQD740DaXtRgT50GKZijvuiKnJxbeaLZa+UVlh+3lCpZiABJmJsTODQR8WhTwDCpKoHai9qtwTKJRxpoJmeTDzhmQOezocYfpBMQF9YYb6Cd5eS27KrMsHtYV+5krhPG/vtJN5tjGa5F8jv; 25:H87+wLilKoW3aNtXy4KC7El2TiPskD0fGWThsXWa4HOgnsv7F9yEXnpHy221Q9WNLSqtoo2Qi7A1ZkPxiW2h8ZB+SlVQpZP2N3p9VCxsAEOzj9PpSiK1XHsvn7uWkBI3yYro54RuaE8JijYkehAQ2nS/IUFEMWec4U0zQ/wXpALHzNGJ7007Y90LPqEhGhvBT0TB5cS1gBKdI1K+Bz3JdaLKjdhfxHHNfrzHi/tIimXaeISyfCrVI2JLDL5tSFHkFJSEst6KfjltLzeE9Cbtzp6jvfPG44Vj9VkNuqarhASENmjEv78nYikP5wgcgn97ISDGldvJw+71giMo/O5Spw==; 31:rilScIYVW2t3lkvVaPRD5gxDfdUPHJJCO/NDGvtYhfHjeHFNIMS4bm8t4DPANoE/lqlbwVQPPKRt5dc5lBJS8emvo8kxTYHNjm5kOJI7Eg8cNS7xpLRGpqXmyBfMxbR8z5hfPVgOQttPzft1q2WDLVdizhL9Z4f7b4n7jNXRpb7uwkOdrYQ2P8tM0uxgahNCOm/bVeIiIE9x9IHraiV+yFoyNU2WFSV8K/N6ULPQn3E= X-MS-TrafficTypeDiagnostic: DM5PR0701MB3669: X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3669; 20:xzhumMBPWdVvjLk2CcDFPzHVWkusIUjBrxxSuwp+bwqgyYnob4B0ht0lWr0DKjtjXSGI9oewW3QEZGFJlEYvW8NxjvJHDYdP1BJb9oheOoNQfbGq8H1pco0kztWi4h0yR5fR4MqWVJwefBcaC45bxbiA+xcqjZHm+oVhTgB95caNskE6eUJtixt2hZ0YYiDTS1IQUWlXONnO5ZEXoTb0GC0J7pg3X3TcFSqZY9pV7G5fqB72mehdXcJlkYNSZmvLQBxcHcbBWiyd9/xhYeCWS6IA0VAA1Xi6ZfOhVswveLjVHbPcj50QvpPoEk+cA974QqT2VkkXGYkwXQ6BwEewHfJnu3OIJWPT9PmtL3AuSOA1ZrKAZvAKDof/0V6mHv1wclWEMXy9aAGs51VrmRfjcqv2Au2ay1xWH3hOKXeqfUH1wszapH7mtz40upbB0SiL0rLYwA7Ku3oOKujj3v9qdfRjAKfQPJ9dR4VDpVCcxFokxQzdTiapx46b40jn1Hlz; 4:tPUmvXdo4W26kGtsg0acgk5cFMR8sW3h9BCNOTE9mrOSgw8Z9WkI1YhQnnultvG5QecBig+CfMy6Npej95Dm2IEJhWGU12CZsrP8BgtU5+JxUEOCEt4G0b1pBD3EeDTskhkscntZo9hKubh16QGS7Arn56UU2aQtK84RbkMj4X4NIhoYt+qw1pv5xZc5ohQ6Y+vAz9IV4eaPcI9H2peoxZASLfA+YwCkI3GneIx76gkIl7H2lliKQkms+HqcryrS4K52S1RmM4dmQ6E4Hlh7Tw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231092)(2400081)(944501161)(93006095)(93001095)(6041288)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:DM5PR0701MB3669; BCL:0; PCL:0; RULEID:; SRVR:DM5PR0701MB3669; X-Forefront-PRVS: 056544FBEE X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(979002)(396003)(39850400004)(376002)(366004)(346002)(39380400002)(199004)(189003)(50226002)(386003)(68736007)(4326008)(50466002)(6916009)(5660300001)(2361001)(106356001)(478600001)(48376002)(4720700003)(2351001)(16586007)(21086003)(305945005)(59450400001)(72206003)(51416003)(7696005)(52116002)(7736002)(316002)(76176011)(2950100002)(53936002)(69596002)(97736004)(66066001)(16526019)(2906002)(36756003)(81166006)(26005)(86362001)(575784001)(25786009)(47776003)(81156014)(8936002)(8676002)(3846002)(55016002)(105586002)(6116002)(186003)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3669; H:cavium.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR0701MB3669; 23:giLXATuglu1GbyaWy7K2k3BtT82RxlIoEkhECGC?= =?us-ascii?Q?N0hqfBSXh4x/U1w0MtLKqPhGlrQlMRBgHyUXzpqzVSbt2i/XKUVznS1ZRyIX?= =?us-ascii?Q?Unm4yKs0ttEIqgMIQcWB4xM17xJfAyFge13hmqT7S5uhmgZtmpWBBbOkEG3M?= =?us-ascii?Q?teiVjz8/tPVDzrE+ei4M8GGp5bJdqh19fmcZWB2lPAMZ5ubTt65yW8zC5a/0?= =?us-ascii?Q?9W+xl82Bi7To4WVaE2metCCTPbkHDgUHR8kGXzLM1Fevl6Hrou3nT5ngbp/o?= =?us-ascii?Q?H9dVYkG4v3hB4P/tgqeORdWxWfZ3w2X0GEpva3j6xoz2zql/xFOgqSentXRE?= =?us-ascii?Q?mBi9cmyuY/EyFOG5HMOmcnqsrYXMT3ZZLXKphjO5PITDKRROoDWOYExe1tcu?= =?us-ascii?Q?xpMEDqvEe7jYZ+x064/P1840o225usk+RX06L86DrHlhzTT6mVQ/hSNSYLDH?= =?us-ascii?Q?4wHUyb79KaJPpv4C89I9tx6hKAQpqxLeb5wTBbp+qhgQ+Z+R1VE2tJjl4pJP?= =?us-ascii?Q?oyWLzUqmdhI3p7VId7HqXO7IAaV+powKgpfzehPswai+jWg4AH3GHWV0JH59?= =?us-ascii?Q?Mqez+HisXQVKla+QHSth8p5s487HYja5hPUvS2HbLgsjtGBDN7t53IBAYXj7?= =?us-ascii?Q?5KxnOgfTW/TY9AKwvn10SwnAZOPwLMQ1oc13thTvXI3rGc3omkUE7oGC/03F?= =?us-ascii?Q?+IhD2v+vtzHZxDxvYosXWAwPvmmfdh95Lb7F7DEDzqUSLklNqw6VM/7Z3Cz9?= =?us-ascii?Q?JzfqisDn5ixnCIRDb/ZYyD63nj8gVGYpEK+T3ep+IGbrL4+a2/NzpGYBkOOQ?= =?us-ascii?Q?SuBLeUUqcAw2WgM3qgtjZleK5wCT/+vU0uVzg79JKbw8h/TLSqJKt4BctHkz?= =?us-ascii?Q?0MR92oWB8c5Tg8uxtrgW1ql7WKE1eFew/lvP0t8zGP+aCnL9hXoXGzL9CKEa?= =?us-ascii?Q?vUQadT3bT105ez0D7blnGgodc3DLxkrxijUZL2I8EqKTaEz4nBpe7Efrpm9O?= =?us-ascii?Q?NQ61zDc0v9CBwJ+x5iczCmDjS58lL+smbb97DhTr5I3bvH8kISrerQ/Zmq8c?= =?us-ascii?Q?ejSWKCb5KNW4Zt5r96vBPX3LR4CfJScd7QyH31aVTU/Der9Ge+5x0/OtYtSN?= =?us-ascii?Q?K6XCYbgQ3u52cqk0B/nWPX4aYLBg/92uNMPo58RKenjmZcMzFyDh+uFQD1Od?= =?us-ascii?Q?shB311dJH1XKTbM8YvDuv8ACeqD0TesokRGVnqMqiZTE+YqWLjDpY0GKRGj4?= =?us-ascii?Q?JXLbuh6AV9WIQ9kXD8U3ol6bqHpev9RLYG/877uys0XiUzeViFECLdm8JaDM?= =?us-ascii?Q?Ml0VRkysNDzTa7BNfsLrR42vuLPJ6bYXC5kZFQzLQFdHG?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3669; 6:xObzDKXNO4M1McCsBc41OXIolIvnBBELOitHZBYAJgWJm5l3lQBieCVJk9C1S/s2Sp5ClU2sS0LFRUeLri6IEiCCy1UIyI4Zc4AVMardzjbEd+RvfR33V+y6Xjf7EyoA4WnGDOQ/jMA20weI8tCvmDt6Js+Uam1+0f27ywy8U8Rs9IBhhnS1h/9ceivXiXK1mVa7YyB40TfkhIPAGxobAitCmter6wK5/HUip6v0Wbbyjd2jPXt0CeWnS9xlhujeV4FG3RaWCce7QZW9cgp/TMmbp6VqiGO/G9eHDrLv7DwGxi66jMfO8N49E0xWSI9NwMhOLSGgDPjk8s4vPibGyGClV9rznGn64KryuBTMSTQ=; 5:amWaKP/4VsOmzCtt4/DGNe9HtLTXYbNGULwGhEE/JrVyiyHFTMSivG6eiEKADSXBC3sY6MUmRwTGzCtEDYhLcuQpqYvb/pwOxH5qJ0YDYJJeY1sRtvvvqdOq1Zp9iXAMO9hFgvc20fnEujx13/U616aLdg5LR2LWRDjeM9EnwdA=; 24:PicQKEeTPzImm6lD9Myvz7A/74ByRFyaZeLq/PhOo0NMQsRLjRBRrlw6weN6J/gkW3/ij5vfnZSWdoPcOGBdCkWl0FM3AQKl+H5emT89Ar4=; 7:tIn82AnzjNxREGiCOfI8MFlMyfyEF+K9RTsrfHIVPrucI7eTuXSQqkZaZZJ0qttJJMu0bUssc8EmUpxpaohXXUZyF6JmDaiUhAXvNMPdnr/2ncl5y/V6FLCFLu8gN872O416goefaOnO/b/phb3TEYuSc4USdZXdS04K8DR+lY/8ebIZSrqsGZvRQREgVapwhQnpWdiUGroYzgPttoXeaYTik7H3qmjfEQ/wHOoh9HJrTJSebpj0/IkzSEuODvLT SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2018 21:16:30.2784 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e7345879-3233-4711-1729-08d565cb3c79 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0701MB3669 Subject: [dpdk-dev] [PATCH 07/11] net/qede: fix clearing of queue stats 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: , X-List-Received-Date: Sat, 27 Jan 2018 21:16:32 -0000 Add support to clear the per queue statistics thereby clearing xstats counters. Fixes: 7634c5f91569 ("net/qede: add queue statistics") Cc: stable@dpdk.org Signed-off-by: Rasesh Mody --- drivers/net/qede/qede_ethdev.c | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 895a0da..cab5059 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -387,6 +387,60 @@ static void qede_print_adapter_info(struct qede_dev *qdev) DP_INFO(edev, "*********************************\n"); } +static void qede_reset_queue_stats(struct qede_dev *qdev, bool xstats) +{ + struct ecore_dev *edev = QEDE_INIT_EDEV(qdev); + unsigned int i = 0, j = 0, qid; + unsigned int rxq_stat_cntrs, txq_stat_cntrs; + struct qede_tx_queue *txq; + + DP_VERBOSE(edev, ECORE_MSG_DEBUG, "Clearing queue stats\n"); + + rxq_stat_cntrs = RTE_MIN(QEDE_RSS_COUNT(qdev), + RTE_ETHDEV_QUEUE_STAT_CNTRS); + txq_stat_cntrs = RTE_MIN(QEDE_TSS_COUNT(qdev), + RTE_ETHDEV_QUEUE_STAT_CNTRS); + + for_each_rss(qid) { + OSAL_MEMSET(((char *)(qdev->fp_array[qid].rxq)) + + offsetof(struct qede_rx_queue, rcv_pkts), 0, + sizeof(uint64_t)); + OSAL_MEMSET(((char *)(qdev->fp_array[qid].rxq)) + + offsetof(struct qede_rx_queue, rx_hw_errors), 0, + sizeof(uint64_t)); + OSAL_MEMSET(((char *)(qdev->fp_array[qid].rxq)) + + offsetof(struct qede_rx_queue, rx_alloc_errors), 0, + sizeof(uint64_t)); + + if (xstats) + for (j = 0; j < RTE_DIM(qede_rxq_xstats_strings); j++) + OSAL_MEMSET((((char *) + (qdev->fp_array[qid].rxq)) + + qede_rxq_xstats_strings[j].offset), + 0, + sizeof(uint64_t)); + + i++; + if (i == rxq_stat_cntrs) + break; + } + + i = 0; + + for_each_tss(qid) { + txq = qdev->fp_array[qid].txq; + + OSAL_MEMSET((uint64_t *)(uintptr_t) + (((uint64_t)(uintptr_t)(txq)) + + offsetof(struct qede_tx_queue, xmit_pkts)), 0, + sizeof(uint64_t)); + + i++; + if (i == txq_stat_cntrs) + break; + } +} + static int qede_start_vport(struct qede_dev *qdev, uint16_t mtu) { @@ -412,6 +466,8 @@ static void qede_print_adapter_info(struct qede_dev *qdev) } } ecore_reset_vport_stats(edev); + if (IS_PF(edev)) + qede_reset_queue_stats(qdev, true); DP_INFO(edev, "VPORT started with MTU = %u\n", mtu); return 0; @@ -1885,6 +1941,7 @@ static void qede_dev_close(struct rte_eth_dev *eth_dev) struct ecore_dev *edev = &qdev->edev; ecore_reset_vport_stats(edev); + qede_reset_queue_stats(qdev, true); } int qede_dev_set_link_state(struct rte_eth_dev *eth_dev, bool link_up) @@ -1920,6 +1977,7 @@ static void qede_reset_stats(struct rte_eth_dev *eth_dev) struct ecore_dev *edev = &qdev->edev; ecore_reset_vport_stats(edev); + qede_reset_queue_stats(qdev, false); } static void qede_allmulticast_enable(struct rte_eth_dev *eth_dev) -- 1.7.10.3