From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D6C4DA04DC; Mon, 19 Oct 2020 15:39:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B72E2CFE5; Mon, 19 Oct 2020 15:39:32 +0200 (CEST) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by dpdk.org (Postfix) with ESMTP id 11EC9CA64; Mon, 19 Oct 2020 15:39:29 +0200 (CEST) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Mon, 19 Oct 2020 06:38:42 -0700 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 19 Oct 2020 13:39:27 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 19 Oct 2020 13:39:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lsj6LpNXmp/qGVyxLdq68z+NKUeyYLSwscQHm72ruV9aLpE9LHc7usOSLkh74WpdTOSq037QoT7Vmk/Q29lyBMrWQrm3HIN2PLmeZgS4lKQePu8+WAF6ulGdymsT2kJDfYUCGy/g3uUoQ7gien4emHfCWdRcfCVViQ9hd9l4ISkiTjdnPIRnm1v4Ow3XM0qEsKxt+gjOaDURC2NHfti8QlyP8OczC50LKm7D6maPm2K4l1w4xYP87sXJJvkv5Xc/g77Sp7khoFbeFbvDZ/WzwwbnvlxV8/2EXWpuVcXodusufnYbkylQ26e/B3YWbV7xVXI01+ib0Iq600yIsk7MWg== 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-SenderADCheck; bh=VWxPAkI3AsG7LZFfFV+2b/c0SRWdPw66tz6IfBZEY64=; b=HHq9eseWBdS/OhkOvlkkB4bBU/qqKnKC2vq2d4JCwjnokN1FkqmreDpp3hy1bmecbMzt2DLDwDBD04mutAaUKA+jmOeq/2FbrRTO9iVGPUHpAwubVbH6lAm6aja+QcnDRNly000/pnBC6uY7gBE7JAClGZfTa+MaStxm996lulHaGtZk/rrzRnwaERKM8/eZLuOB4JNpfqvXg9XjvfLDUW8afmivuAxRpAAQ3eHa608TqCUKbRovYVXXAnmUZ6FlPRsJ+EHOC6zbPio2ibtOAQlOHBo83peBBwMmbp4MDlxLkLWJ4W5G2y3XZMqlp5/eZl0VKGKS/qeuvYprC32Lmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from BYAPR12MB2597.namprd12.prod.outlook.com (2603:10b6:a03:6e::20) by BY5PR12MB4274.namprd12.prod.outlook.com (2603:10b6:a03:206::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.25; Mon, 19 Oct 2020 13:39:26 +0000 Received: from BYAPR12MB2597.namprd12.prod.outlook.com ([fe80::cc7f:e451:593e:a7ba]) by BYAPR12MB2597.namprd12.prod.outlook.com ([fe80::cc7f:e451:593e:a7ba%4]) with mapi id 15.20.3477.028; Mon, 19 Oct 2020 13:39:26 +0000 From: Shiri Kuzin To: Shiri Kuzin , "dev@dpdk.org" CC: Matan Azrad , "stable@dpdk.org" , Raslan Darawsheh , Slava Ovsiienko , "ralf.hoffmann@allegro-packets.com" Thread-Topic: [dpdk-dev] [PATCH] net/mlx5: fix xstats reset reinitialization Thread-Index: AQHWpeJKXeFzZi/CMk2HfkduMXZ4Mame7btw Date: Mon, 19 Oct 2020 13:39:26 +0000 Message-ID: References: <1603089410-11248-1-git-send-email-shirik@nvidia.com> In-Reply-To: <1603089410-11248-1-git-send-email-shirik@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [62.90.165.98] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4865e17d-99ec-4db2-3ff6-08d8743465b6 x-ms-traffictypediagnostic: BY5PR12MB4274: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1148; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qTRKq9VNuMQ9uJiIHwu1tiLCKnJTYHHmg4I6JSO5yqRlPZAYQoN0zSTHVofXd08K1WLIjYDITNyFBZmBQ2PRxe+mhcaXuIy6+m2qaIdIjpaf7BOq0X2G+lv03svPQWGeQswZEKuMrMX8MTHZPuTrjaalfZw/1C/t649tg3QQczwidUW0PkP5vPYw/yNxJr+VZA5xegua6LhvnPwYsausMvcRn3pEey79bvPc5lYX3xr7Mzu3yNcOPjsS4oyi5b/dDUHw5OVEG7PvkOTVlhRo4TO0ZSE8WCg24NhFRogNFwTkOoX8/iD6QyrI+5+I3pw5 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB2597.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(366004)(346002)(136003)(396003)(376002)(52536014)(33656002)(9686003)(26005)(186003)(478600001)(8676002)(55016002)(66476007)(66446008)(83380400001)(66946007)(4326008)(66556008)(64756008)(53546011)(316002)(76116006)(54906003)(55236004)(7696005)(86362001)(110136005)(71200400001)(8936002)(6506007)(5660300002)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: CEiTfxSF22ad+0dAdJJTWj1yhyn/WR/Byc+7EFAHYsyr1pJ+IZSGogM6oH6ut9wYI3VazEkQERh/i8E4k9Xx6+n8gPwiMBhA9bz20sEtbAu6ax/+PHU0jOew7SrpRM3534XSmXGz056+7zA8AIkwzhiac4g+qQ84arFTUZxKiAAbzzzQruetoBOUSpP4JnAXZ3vadBT4V8oSOAYhiN2rCSJcipws0clmgfDI6P3lDC0Zd4d3PZAMgTeVcV1yAPW9nkzvYkLDkLahlSptreB8wSMQBfLjW7dloiQJTpfUoQgUmYhM/vBld/GrxdomS01EgHWJRr9sKU29c3tk7OEIdegzDljG0knC7JLCZ4w6gNZeSO2F5do4MEnOJKagqkJvcZdPOWFRqufmx/Mbo3E4saf/RzizL5eXE8hc6PCwsQB3bQ//Day3PSKvYKEsLafbkv9FJLUt0XvJ9firZ6TU/0Sf2/pNwA6r59/eGFIQ3H2qYzdTUilgOc5bQrlcY61w9qcqxmkZgCNB4IhjEwjX3SRAET/hKYy4EXvpDBousAsGrPDOGJTl1+jYDkkymU/VQ6MpZ969sgQcRDAeVN4DR43YxWJi98O2ekX+pfURqsQ2q0KWcws4lBR81H7q2DzYbBnUqIW8eP9a2/+/II6JTg== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB2597.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4865e17d-99ec-4db2-3ff6-08d8743465b6 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2020 13:39:26.5349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /Oi2WzpiFnhd0Ckhz8FZpAB95rjRW/vJ+gdlTq1YRvArrLzoYs1zBqjXos33I9C01GgDEXqUnvBoZ9H08jKaCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4274 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1603114722; bh=VWxPAkI3AsG7LZFfFV+2b/c0SRWdPw66tz6IfBZEY64=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ms-exchange-transport-forked: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:Content-Type: Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=bCy+GgolniRDqiy+kWrCHSfKxH3qz7qJx7yyjSKT1jn47BNRj11E5DmV7EW9dH/dt 9L7+5/Vi5rO3G+L6+tmF4bau7RyBWmUSFhzd14XAzUnjgL5j2HDXWUJoKZuqcgMmDI QFGysQT9n1VMJrBo475yuj6aipGJc5fVsZfA8/SQruHiOrol0JUAxgYeJGkj5wu0mh Zp/9PGSTjFeUbDNXPyxdN17A5HatZmSpLVnqCKVoQ05SDxqVT23rcu/HPE3CGddIa9 JxgCnXyhtD+LmGm98ELCS/s/7fupLMtWbtZDe5LOCyluDxFNxWV1usO53Ni3kk2+9r ptG/34yhp6RBw== Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix xstats reset reinitialization 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: dev On Behalf Of Shiri Kuzin > Sent: Monday, October 19, 2020 9:37 AM > To: dev@dpdk.org > Cc: matan@mellanox.com; rasland@mellanox.com; > viacheslavo@mellanox.com; stable@dpdk.org > Subject: [dpdk-dev] [PATCH] net/mlx5: fix xstats reset reinitialization >=20 > The mlx5_xstats_reset clears the device extended statistics. > In this function the driver may reinitialize the structures that are used= to read > device counters. >=20 > In case of reinitialization, the number of counters may change, which > wouldn't be taken into account by the reset API callback and can cause a > segmentation fault. >=20 > This issue is fixed by allocating the counters size after the reinitializ= ation. >=20 > Fixes: a4193ae3bc4f ("net/mlx5: support extended statistics") > Cc: stable@dpdk.org >=20 > Signed-off-by: Shiri Kuzin > Acked-by: Matan Azrad Reported-by: Ralf Hoffmann > --- > drivers/net/mlx5/mlx5_stats.c | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) >=20 > diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.= c > index e30542e..82d4d4a 100644 > --- a/drivers/net/mlx5/mlx5_stats.c > +++ b/drivers/net/mlx5/mlx5_stats.c > @@ -17,6 +17,7 @@ > #include "mlx5_defs.h" > #include "mlx5.h" > #include "mlx5_rxtx.h" > +#include "mlx5_malloc.h" >=20 > /** > * DPDK callback to get extended device statistics. > @@ -216,8 +217,7 @@ > struct mlx5_xstats_ctrl *xstats_ctrl =3D &priv->xstats_ctrl; > int stats_n; > unsigned int i; > - unsigned int n =3D xstats_ctrl->mlx5_stats_n; > - uint64_t counters[n]; > + uint64_t *counters; > int ret; >=20 > stats_n =3D mlx5_os_get_stats_n(dev); > @@ -228,17 +228,29 @@ > } > if (xstats_ctrl->stats_n !=3D stats_n) > mlx5_os_stats_init(dev); > + counters =3D mlx5_malloc(MLX5_MEM_SYS, sizeof(*counters) * > + xstats_ctrl->mlx5_stats_n, 0, > + SOCKET_ID_ANY); > + if (!counters) { > + DRV_LOG(WARNING, "port %u unable to allocate memory > for xstats " > + "counters", > + dev->data->port_id); > + rte_errno =3D ENOMEM; > + return -rte_errno; > + } > ret =3D mlx5_os_read_dev_counters(dev, counters); > if (ret) { > DRV_LOG(ERR, "port %u cannot read device counters: %s", > dev->data->port_id, strerror(rte_errno)); > + mlx5_free(counters); > return ret; > } > - for (i =3D 0; i !=3D n; ++i) { > + for (i =3D 0; i !=3D xstats_ctrl->mlx5_stats_n; ++i) { > xstats_ctrl->base[i] =3D counters[i]; > xstats_ctrl->hw_stats[i] =3D 0; > } > mlx5_txpp_xstats_reset(dev); > + mlx5_free(counters); > return 0; > } >=20 > -- > 1.8.3.1