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 6D97A437DD; Sun, 31 Dec 2023 07:41:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BB8F2402EB; Sun, 31 Dec 2023 07:41:57 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 00442402A2 for ; Sun, 31 Dec 2023 07:41:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704004916; x=1735540916; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=rl5WRdtautUcZxNB3NN6KqgG8hvFe1sFY7/dhKk49/E=; b=QFIsl7HGt3/vLHcs3Yr91/lDBTJlCu878UwXWgvE4eLXi5KLKZqEf9/M bwABdAewCVYNseYnzb8XgzU/x2R0aOet7zFrVlKbpIvA3KGSz9aZz11X8 AVhggEnRX5Qhg9kmKk7e5SWXuux9XE2NkWMr1mVK5hPOeHSzn9m8Hgs7q sVu0EN0KW2y5i50BX68ABE85mWco/WDx66v/A5Nl8oeT6cBmE5vdSkgqh uFMqMNKKffdwsWNzCLVlhIWN1HyUFmwOhMUfykShuSnITaznClxP/g02P ZRyw34kmksmVYvHioCFNqUSTkhNM93CM41vA+0gXpM8Wsy+n2Cw8eXLji g==; X-IronPort-AV: E=McAfee;i="6600,9927,10939"; a="461046415" X-IronPort-AV: E=Sophos;i="6.04,319,1695711600"; d="scan'208";a="461046415" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Dec 2023 22:41:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10939"; a="849582828" X-IronPort-AV: E=Sophos;i="6.04,319,1695711600"; d="scan'208";a="849582828" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga004.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Dec 2023 22:41:53 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sat, 30 Dec 2023 22:41:52 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Sat, 30 Dec 2023 22:41:52 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Sat, 30 Dec 2023 22:41:52 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TWVC8QjgOY1e1tu8igzKS5c5DtdqMfL2L0lrcsqW0kLNpItObEGQAPmzuXTa9PJ9xJ+16f93rx1eJ8bvM6amsXT+ekFAv3dsKFQ87PX5r7v7nVpYoXPwe87iJgInyfRJSnD8gPSvFsTRkJUv220QxlEfzlGC+5YPb8oaDP4zKNWWEkRPDVTKpuc1XTpMu4c5WrqJM5V670+hQ9xHWqHIG82hLFNDbkTa4RcVTpRFvTrywkGi/1WbfmBfDLj3U7n6mykq20xR+RH+5K6IlohuAhiw2tCk/UnqH8PFqOcwZq0kGVBp2bDG7ol37U8YQ+DXSg6XM3tBkYwtP4S2Sbsb7A== 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=bITV4dszdTL2gjknNV2YtI/QWsgpBKRBF/qwpEmcRl8=; b=dBY4+8dttEpYoszQqxioGF1YCQWFG15S5TllHcUYr1HAjy8xh8F+oBF7yz3DxQeACJbyt2TmRWv3kyzsFV/r+Qgy3xxS2uZuIb2J6BUq9FQTCBbnxxKM5H/k7zWPFqb0NeEnWlmXi3kjXJUKeSeJUkB/U3Zhc5qx9MqidgYDE4pOs6Q18VZXk5GJUw+7G04ei/oaVzdgDEVX1YEEqA4LB96W/12jlxFxhcKGSIrATaMRxShrk8i2jUsX37VuxK7FTrMeJWuXRol8DHzQ4TK8mjh9h5zznd1L0R0RanbAFkKD7+xIKea7OiiwmiGWmHTwkg+ilhw8e19o0N1vL+YMcw== 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 Received: from DM4PR11MB5994.namprd11.prod.outlook.com (2603:10b6:8:5d::20) by SJ0PR11MB6576.namprd11.prod.outlook.com (2603:10b6:a03:478::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.22; Sun, 31 Dec 2023 06:41:43 +0000 Received: from DM4PR11MB5994.namprd11.prod.outlook.com ([fe80::fc91:526:bead:4f73]) by DM4PR11MB5994.namprd11.prod.outlook.com ([fe80::fc91:526:bead:4f73%4]) with mapi id 15.20.7135.023; Sun, 31 Dec 2023 06:41:43 +0000 From: "Zhang, Qi Z" To: "Ye, MingjinX" , "dev@dpdk.org" CC: "Yang, Qiming" , "Ye, MingjinX" , "stable@dpdk.org" , "Wu, Jingjing" , "Xing, Beilei" Subject: RE: [PATCH v6 1/2] net/iavf: fix Rx/Tx burst in multi-process Thread-Topic: [PATCH v6 1/2] net/iavf: fix Rx/Tx burst in multi-process Thread-Index: AQHaOkG4o1+lgr31aU6UhAS3wcio2rDC8i+w Date: Sun, 31 Dec 2023 06:41:42 +0000 Message-ID: References: <20231228102611.921850-2-mingjinx.ye@intel.com> <20231229101104.2167028-1-mingjinx.ye@intel.com> <20231229101104.2167028-2-mingjinx.ye@intel.com> In-Reply-To: <20231229101104.2167028-2-mingjinx.ye@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB5994:EE_|SJ0PR11MB6576:EE_ x-ms-office365-filtering-correlation-id: 427c07d4-d48a-42f4-90b8-08dc09cb8d0c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: s67dfFxXY96IAjM/k8RsH7lUlrBakwBEHOgs4FkRFG0rFuumKwpeY+GRiHry8kpCEESJ8Sf7jozVKNrFhJGdpXw/+sV8+yt+Q8ho3eIToZMoMPLMJzIVUEUUwhXix1TeRHTIQUT+TzBqzxdkAkS6zUAxzYi0Itwt/jSg6i81r0aN4RLoxkDgossOHSKWICDvwcPHdP0G/xUDQ7TLTbrqRkWwKGnuC0WQmSPLP29sxfeRf7jr1fI/X5gchzeSQenQzlvtcEbkmgcFBObgL/4RFkKfWnTT27Jow5pXzsoXjur0aq76XCMnhLVf7ynPsJIhx4vgyjoSrFYphVTFi/EEofiN86fSCixzdpSCI9W4mh6VQYRyvetOC/9z6w8AK+kD87C85k41lv/MWEJHST/fwF5nH2sbBxqPgKi86W1N7o3J0urp8DcsJOz+uTaRRx5R9UyaTNCL+AHGwEIqo9/P0J8fqbZgXTevGhg5HLoU0xo9rwF2gRzh8ujV9VtFPE3CsojDzs+TPK6KEX9GMPq1GF+MJzYm7RX5LpKkAWpz8p5re9V0ahDrfum28GD+hzA+WNwEpiPOOQBaP1Ea5lzeapYnbzckxojiH04FwwXKrbPLFhZ38YdD8v+COWIv5VzA x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5994.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(366004)(346002)(396003)(376002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(55016003)(107886003)(26005)(83380400001)(86362001)(38070700009)(38100700002)(33656002)(82960400001)(5660300002)(4326008)(450100002)(52536014)(53546011)(9686003)(71200400001)(6506007)(7696005)(76116006)(54906003)(66946007)(8676002)(8936002)(316002)(122000001)(66556008)(66476007)(66446008)(64756008)(110136005)(2906002)(41300700001)(478600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?hh5N+RVyxUDirqbtmL+/jxtE3TepkUDpjZVbTVELDB2GRt66ImwzusyBRV9o?= =?us-ascii?Q?lhMO3o1DRhhuYKIqMK8pMEosaC9hM1tDEKkIBkLTFgnNVIv1eEohADp8b0LB?= =?us-ascii?Q?3jHBmhC0oFBbwrU2JH4CuG8aTV2j+BIIWWkxPkYNAAYMmj+VUvtwwl84PJRj?= =?us-ascii?Q?5Ghg3hUejJKrkqy7iZQWuDd5fToj9VeyoVe0ViW6lcvZIS4IQXAOsgsDYoEk?= =?us-ascii?Q?dcK4HMLKi/e77w14c1J6C06u935FRbJDSkCvpkrPtNQ3SJRvE1aVa3Yvr70r?= =?us-ascii?Q?ynM4AkwCkRpyT3CTC67oOWjw+xALmkOIszZuCIcHGxUyB15kFliHhxlQcJKt?= =?us-ascii?Q?2I6f69As6RWUpuCy4briV72EFBXTtLPOpwjjtJ4arGxQM71ZPW01w74PZ/Qa?= =?us-ascii?Q?F8yY3i78xSw3zymfDjd0tea/LOV9UfFcaN6VrFIeHVEyuCAdjhKSciZ7kR94?= =?us-ascii?Q?PMJN/YVKAvx0awHH2Wfaqoszbbk3IHRGWdOJwjy7Hg2TT/GFUdWf0VU5FS2V?= =?us-ascii?Q?TkFzOhFTUvEmt8t8tX8zT59qrtmw0p+9nQ+vLyEYvU3pZmzy8pZL+g5isUyS?= =?us-ascii?Q?HsS0ggqwvaOfmH99fTHfZ5GizOq/j8X7UWez5gWyxr86cSoUCmOrCzkzklwR?= =?us-ascii?Q?ne0gKLUIxbJehfHSp/wnQQWM9L6EVW363vBju7t27OiTn27k5SGtpJSNOz5w?= =?us-ascii?Q?5nm5TU7aMGgXBzWoMJu8hUxQP5T/sPASQtoY3VX84ZM05f5FNW+wwSm/7ger?= =?us-ascii?Q?b5dENBeCk/2EyaxK5XzJwMop2vUc69/rM3xq84crGA/lN/TyIfM8K8q3O1Ak?= =?us-ascii?Q?330suHHmkcY1UA9TIcTlG1X1OQOhK+7PTLOzIFVQhj7+JIy8z9sBaUUIrUjJ?= =?us-ascii?Q?mXwIUwXy845oFNm05ElgfdqZRGDHD/kvyM8DcjFUh80946gtw5D523vDo+LA?= =?us-ascii?Q?a2YIXQkjgE2AN3ZeftZuBu1emSxXtL++oI01DqqHK59R9WIridamYx+9LU1p?= =?us-ascii?Q?UVNbfhNq9/Tjal7vR5CvOCQ2X1eVQL/oYBkGqICoHTauZBrnTTATxd0hUa+s?= =?us-ascii?Q?XL5NqJKIpAkkbtq7NwQaX0/VQBFzbUwIcAy6CTH0axyicINQlMLXuLIjs3BK?= =?us-ascii?Q?MQ+bhzbzObXeqf917dwT/eyBG6wlFRguBAschP6XB5TqhfF32NTUyppumMzj?= =?us-ascii?Q?qo7vbf/CniOqxSZxZ7MUFaCO293PTzI4S4q7rWHZBAtTaxxNk5ETegGv5DRz?= =?us-ascii?Q?874/keYM3lnqWHjktMfvG9LNnW5t0bod6HcFiaL+gPXbsHgJ5AGaJBq1rn9d?= =?us-ascii?Q?GURAxcZX22jkWCzlUszGxTGemuVD1bA7ZVT/CARon+BTdG94LHqdtGHHY6Ow?= =?us-ascii?Q?SJyqbfnSA0793qxAMWMHVVBwjjp+ps9AsXnACJxehemxWVFD8htJbASt4iPW?= =?us-ascii?Q?q49bxW7G6SbNDiN6hGT9OsRgsRxJZVLOp6IND4BKt56wjJBNF1BxGV6tqKd5?= =?us-ascii?Q?+U+AyqhRXQJ5nNbe2BsKRlyuf1ppvaG29p8Cl2FbCboRSnEKY5ZQA5a489BP?= =?us-ascii?Q?gtxJOWd6Wl8KR3e12jejlkNmnal83yl1V0ywCJjM?= 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: DM4PR11MB5994.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 427c07d4-d48a-42f4-90b8-08dc09cb8d0c X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Dec 2023 06:41:42.9100 (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: tzfH0xNWc8dUl/5HFMyZN2KmpiTjGvT9JNoTWYzkF2h9mmPUR8cTwL/Q0E8OJUHU1r2iViUEy6ohlc4WaykzOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6576 X-OriginatorOrg: intel.com 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 > -----Original Message----- > From: Mingjin Ye > Sent: Friday, December 29, 2023 6:11 PM > To: dev@dpdk.org > Cc: Yang, Qiming ; Ye, MingjinX > ; stable@dpdk.org; Wu, Jingjing > ; Xing, Beilei > Subject: [PATCH v6 1/2] net/iavf: fix Rx/Tx burst in multi-process >=20 > In a multi-process environment, a secondary process operates on shared > memory and changes the function pointer of the primary process, resulting > in a crash when the primary process cannot find the function address duri= ng > an Rx/Tx burst. >=20 > Fixes: 5b3124a0a6ef ("net/iavf: support no polling when link down") > Cc: stable@dpdk.org >=20 > Signed-off-by: Mingjin Ye > --- > v2: Add fix for Rx burst. > --- > drivers/net/iavf/iavf.h | 42 +++++++- > drivers/net/iavf/iavf_rxtx.c | 184 ++++++++++++++++++++++++++++++----- > drivers/net/iavf/iavf_rxtx.h | 8 ++ > 3 files changed, 205 insertions(+), 29 deletions(-) >=20 > diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h index > 10868f2c30..8db9f3d7cd 100644 > --- a/drivers/net/iavf/iavf.h > +++ b/drivers/net/iavf/iavf.h > @@ -313,6 +313,44 @@ struct iavf_devargs { >=20 > struct iavf_security_ctx; >=20 > +enum iavf_rx_burst_type { > + IAVF_RX_BURST_DEFAULT, > + IAVF_RX_BURST_FRXD, > + IAVF_RX_BURST_BULK_ALLOC, > + IAVF_RX_BURST_SCATTERED, > + IAVF_RX_BURST_SFRXD, > + IAVF_RX_BURST_VEC_SSE, > + IAVF_RX_BURST_VEC_AVX2, > + IAVF_RX_BURST_VEC_AVX2_OFFLOAD, > + IAVF_RX_BURST_VEC_SSE_FRXD, > + IAVF_RX_BURST_VEC_AVX2_FRXD, > + IAVF_RX_BURST_VEC_AVX2_FRXD_OFFLOAD, > + IAVF_RX_BURST_VEC_SSE_SCATTERED, > + IAVF_RX_BURST_VEC_AVX2_SCATTERED, > + IAVF_RX_BURST_VEC_AVX2_SCATTERED_OFFLOAD, > + IAVF_RX_BURST_VEC_SSE_SFLEX_RXD, > + IAVF_RX_BURST_VEC_AVX2_SFLEX_RXD, > + IAVF_RX_BURST_VEC_AVX2_SFRXD_OFFLOAD, > + IAVF_RX_BURST_VEC_AVX512, > + IAVF_RX_BURST_VEC_AVX512_OFFLOAD, > + IAVF_RX_BURST_VEC_AVX512_FRXD, > + IAVF_RX_BURST_VEC_AVX512_FRXD_OFFLOAD, > + IAVF_RX_BURST_VEC_AVX512_SCATTERED, > + IAVF_RX_BURST_VEC_AVX512_SCATTERED_OFFLOAD, > + IAVF_RX_BURST_VEC_AVX512_SFLEX_RXD, > + IAVF_RX_BURST_VEC_AVX512_SFRXD_OFFLOAD, What is SFLEX, SFRXD, SFRXD, FRXD, please make it clear by following a cons= istent naming pattern. Btw, you can consider removing BURST and VEC which didn't give any addition= al information if you are looking for a short name. .... > @@ -3809,42 +3886,64 @@ iavf_set_rx_function(struct rte_eth_dev *dev) > } > if (use_flex) { > dev->rx_pkt_burst =3D > iavf_recv_scattered_pkts_vec_flex_rxd; > + rx_burst_type =3D > IAVF_RX_BURST_VEC_SSE_SFLEX_RXD; > if (use_avx2) { > - if (check_ret =3D=3D IAVF_VECTOR_PATH) > + if (check_ret =3D=3D IAVF_VECTOR_PATH) > { > dev->rx_pkt_burst =3D >=20 > iavf_recv_scattered_pkts_vec_avx2_flex_rxd; > - else > + rx_burst_type =3D > + > IAVF_RX_BURST_VEC_AVX2_SFLEX_RXD; As you already introduce the burst_type, its not necessary to set the funct= ion pointer for each case. Why not just=20 dev->rx_pkt_burst =3D rx_burst_ops[rx_burst_type] at last? .... > +struct iavf_rx_burst_ops { > + eth_rx_burst_t rx_pkt_burst; > +}; Why create a wrapper here but not just use eth_rx_burst_t directly?