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 C9B3D43750; Thu, 21 Dec 2023 13:01:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9A2D44027D; Thu, 21 Dec 2023 13:01:18 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id A43F8400D6 for ; Thu, 21 Dec 2023 13:01:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1703160076; x=1734696076; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jWESF8ShH4ZEl/qvg/xaXDRlmDUgtED9AmO0zdwAGOc=; b=Bij/+obccAVCr+LgzH3jHo3sXr1YOPuQzpzcsyohCxKUVmAfR/fyLg/o LyUr9O+WPj8SG2dtdKqOV86dXvfqwzV5QnrYJYw1iOBJTeHrsj7KT7+aY 7ydcRLyF3lPnQpmrQNYHhcmoZRPGiZa/PlfcJpklaMa/oJwoqTUmqFkQi mNGGv6XHD2juq8ll2tpbaIVgqDHa5MtIMm+iCIpENjn9UPl+8n/z30kwq KkU8uaMOClz5m2VluBn98bYctZ4WAhGLPk36Jg1Bj7BtzXgEkCugN1b1C AmWOFkJ9QmxOW6vP+kPzLvVWHBuNim5DLks42EPjFE7FNag0HqkkDZK1k g==; X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="376112414" X-IronPort-AV: E=Sophos;i="6.04,293,1695711600"; d="scan'208";a="376112414" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2023 04:00:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="867285767" X-IronPort-AV: E=Sophos;i="6.04,293,1695711600"; d="scan'208";a="867285767" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by FMSMGA003.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 21 Dec 2023 04:00:55 -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; Thu, 21 Dec 2023 04:00:54 -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; Thu, 21 Dec 2023 04:00:54 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) 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; Thu, 21 Dec 2023 04:00:53 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KN5gU56UjfEjsjSEbRRg6aYrAJzwFOb8PDxJpuYJYE2iJo9kri537LmMjPTx3Z89FkkvKLr0ialJXTx7o9mQmEsJHmEeY0RUoYDIJcU2YTftd39fW10IaEPzPYNmsto8TFOrAkVRxm8+JXfQer8fosgEaeNLaMeVeP51QpmXheY6uxKlZXuUgRKQ9NLisQdIcBXxwdAqprJQTCZCGLriPs+L31IQCFSSCvDtI2zCcud67MyddnjzYC+us63HB3tWyqa7VbyeaQK5wy32JiY7UYq2zPKLj3LtL/zEekox/Fp8J5UZK9Rbw9/fCMR0m3WOLCAITnS0KcemFz/NyZSVkg== 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=kSG5EtPt/uPYkIe+43XnssTUqjt7ovhRA+AgCDeqedg=; b=Rs+Dg+67keJdHyIac+jHj59cqGzdqH5TpelEDq4BIfSHUZHL4uuVbT/W63UTsLTcVeAgJncIVUwn38Iz7xh981VPHYfxmyWma1sbM1gPn+MaW2xaS4TS6nYs3i3aoWX97eDpuVee0uqpk4tzoCHVe6Z5ZJgKE+vyK3QmMUWERUZSZsfGni9GUHmnqhrb2XAxABvISEG0mqg1nHm/R1EIlZRCxgoz2qb0wSnXrVM3EcSt5y3zuqlr6p2mrRpTq9xBfuJ4L+pQiO7CZwVE2yHVX41Z2mqhYglp9zdn+piFkmrG+lZukEjwrKPBQ45N2UDENi8416EkZoc9lHIatLqnog== 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 LV8PR11MB8724.namprd11.prod.outlook.com (2603:10b6:408:1fd::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.20; Thu, 21 Dec 2023 12:00:50 +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.7113.016; Thu, 21 Dec 2023 12:00:50 +0000 From: "Zhang, Qi Z" To: "Ye, MingjinX" , "dev@dpdk.org" CC: "Yang, Qiming" , "Ye, MingjinX" , "Wu, Jingjing" , "Xing, Beilei" Subject: RE: [PATCH] net/iavf: add diagnostic support in TX path Thread-Topic: [PATCH] net/iavf: add diagnostic support in TX path Thread-Index: AQHaM/huFZKxN7HZUUmPTQw3Ro7EF7CznpRg Date: Thu, 21 Dec 2023 12:00:49 +0000 Message-ID: References: <20231221101202.2815069-1-mingjinx.ye@intel.com> In-Reply-To: <20231221101202.2815069-1-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_|LV8PR11MB8724:EE_ x-ms-office365-filtering-correlation-id: 78b7f79e-900e-4624-bce3-08dc021c7977 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: atuqO3QBs1gSLrvBjve4dwRWbV/uprtm6Jp8hn7tqj22ZVYecmcwD4FSFF5h2r+FyFjhxvZWkuP9n+KumWFWrqzmNUh9DN6oUPggYb5BCl6xScb8KVWhmg2pyvxMqh1YV5j4EojUAJy0r+la9rJt7WUOD3vyBDit/sCWtqn+yBf9lhBaD2+M1HB6Fzo5CtY7YHNcg86RQP9bNdXsIyYcZl196eJyzKaPVmTHhXn1cCNzEb24gIY5Edj5o1SNnWt9lMsW05CARGJWqoFbPEnAcLbZqAthuXEiHR+rsRr6WlN0WG9yETeJxgSo6L98loEcCDASv4Hu0tWP2QtQV8Xi2Ce84FkmJmKM9+2Co8hMyJhM2/AUStmIGzy86uHr3WzXcU7uvKC/wVwOA8YTragyu8ck1BLgY1U/zPvExTB8pE9ngOv468izCdO7CTI74qt7Fwuzqsd/IEu2O3Fap15A+YcR/LU6T+xuz8zUF/aSqy7hxkjruT7wTVdrR48GKgjXjmMDixh/uk815tbAdD2FNGPU1p55XbqwWlPNumXVveEoLuL/BpjJ/tIcCZg8iuVeypJJSWbWpKFb+O8DWAA/4/nDAV1pgXxeOfhgXdthUaLtr8mhWHkiniuTyTV4aPzy 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)(396003)(366004)(376002)(136003)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(26005)(9686003)(71200400001)(6506007)(107886003)(7696005)(53546011)(122000001)(83380400001)(4326008)(52536014)(8676002)(8936002)(41300700001)(2906002)(478600001)(316002)(5660300002)(110136005)(76116006)(66946007)(54906003)(64756008)(66476007)(66446008)(66556008)(82960400001)(86362001)(33656002)(38100700002)(38070700009)(55016003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?xtfdsTqebqaDpeYAj5Jz4NnBpS9Jn6/7sHiDq29voNNkpixfZ3vmz5ROeUsB?= =?us-ascii?Q?gKnITUT/CjKVzIuRDWPW2KeskL/x262jV761g6LMR/ozwvgvDytj3BMrkBTT?= =?us-ascii?Q?qD9m5uzn1dbUzYlS39ykxaG7iLW7oTqBKOI8b2pkUPK3M3XbdQk/z5sAzeOB?= =?us-ascii?Q?N2eSSgsVX0v1lFKsQ9OI39u1OnkB81dGn0s2bc1GlKRgw1R2LVIxNk9/Qnci?= =?us-ascii?Q?tGsVpSc+Ab7g0p4r6CUnEg4vIvGoswudQ87E4fef94hkTcoVdf0mPLPloWiS?= =?us-ascii?Q?nHCoNl0Buf7Dl76lBxEp+iWtzQh3qY578gRDB9GSVSqg9PjteAzpsF8SNMF0?= =?us-ascii?Q?kDgh71tq2G6MJpUOUzf4DxFqkYjWU4oaI3NPfG/qhZN8meDG4O0RMbFtP/j1?= =?us-ascii?Q?IQNivdaU+2y5SWGFCU7HWEC04vuUb20dO2hA8mYJoEPm/E9YoGp7fvTZQ/Xt?= =?us-ascii?Q?3695kovIy6FEZtO/V/fkoHuA4u1NYmK8CmoYoC4/pnzlwgsRs4+FN4BSoLhk?= =?us-ascii?Q?HdeWFg79XFhNU+O2HPy10LBroS+CGlWMiqhrNsp5I+M1oNtobktrq5rO0X/m?= =?us-ascii?Q?RQptftlYATSAoDREtSEnL04Y8UgaRL6hzhoo1XmSBotn0Cf85bMPkC10uLsH?= =?us-ascii?Q?d0lGPsVcBcXIy4AELnze7pOP4WnYlVYtBtRIxSxzcS3xlH5O2Ex3LJE8igWM?= =?us-ascii?Q?TZV98hOfCOHbhlveXHjKQkVGo8ht0bQV3PhwqOq953YOlBJ1dwNI7/UMSTwU?= =?us-ascii?Q?Zv9ouTbSTXPHBg17SeQBvXlw9tfBYAI8M0opmsTyZQ7SgzJuzmYsq7juFc4P?= =?us-ascii?Q?Ie7P0DP2uDhlMbYKc9u4BP/aqh0fPwnh6gUsk2/o0QGm9JJdaRTd5kK7o21e?= =?us-ascii?Q?QPlhk7sXShuVD8wbHHR2f/HAwwKIFiWr8jGT2w3jl5UWk4LghgCpcKY/N9W8?= =?us-ascii?Q?kAwHxdb9NRFzx5MSBgc4kebBaAy0TBggR0Gd8FBNDJPbB2s/C7E6ScIPKsL8?= =?us-ascii?Q?ssmyAI6tN8RKpzxHmAn9rdujvaFZ4U0698XuXK7PK2zoA8kfwRV+LQOh1VFZ?= =?us-ascii?Q?IEz5dkkuJktU8qxrQdKw4LqiswFZmohkFDGIBg9rWw4cWRPQ5H/nOcB5l2uz?= =?us-ascii?Q?U6P/iDb6iKiZQKMUJplX72BaAuhzUcAr56YRggTis2ikYzVUinMduTaVvX1Q?= =?us-ascii?Q?lG7o/+YxcMWMSmz10+dKWIgpzPnXD9+jZwqsAzOU0tG175gy1qHYYi+0oUBy?= =?us-ascii?Q?11DPEv4gMSfWQQEh6zqwVM53qPPuzT4KO87DGSJ810eOAWP8dmruMVvBtb8x?= =?us-ascii?Q?expyWHlJ643l/MM+gr8gLlEwzVPd8QMysGGRWrMdOob69wp3BLg29OtOptmH?= =?us-ascii?Q?MnqAVR7XQ0uylwIF+wyzQKxzsPnxGbMJwAs8J1C3+x4QDMTq1f6wD8/En4gj?= =?us-ascii?Q?E6rSBJOf9yYFLKPFxWijxrnuNjiOAWNqkdrcYwMQFauNIj0epPRBqCbJOCm7?= =?us-ascii?Q?Czm98q8paYcAtgik9niUUKMHr9gUpyh+OYotvCl8IQVIMS2OFhseENpFAA8M?= =?us-ascii?Q?e3S5LOqvCCQIPh05W8yuoXe7spj0wuB9a/EKG++z?= 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: 78b7f79e-900e-4624-bce3-08dc021c7977 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2023 12:00:49.9972 (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: womAPeAqwXAhwAaqT5NBJkR9O8Bx7wroYDZLCexd9qPAbr7kxcV85WUlI4M0SzTzF7IPloEO/chKU2RPVTLdPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR11MB8724 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: Thursday, December 21, 2023 6:12 PM > To: dev@dpdk.org > Cc: Yang, Qiming ; Ye, MingjinX > ; Wu, Jingjing ; Xing, Beil= ei > > Subject: [PATCH] net/iavf: add diagnostic support in TX path >=20 > The only way to enable diagnostics for TX paths is to modify the applicat= ion > source code. Making it difficult to diagnose faults. >=20 > In this patch, the devarg option "mbuf_check" is introduced and the > parameters are configured to enable the corresponding diagnostics. >=20 > supported cases: mbuf, size, segment, offload, strict. > 1. mbuf: check for corrupted mbuf. > 2. size: check min/max packet length according to hw spec. > 3. segment: check number of mbuf segments not exceed hw limitation. > 4. offload: check any unsupported offload flag. > 5. strict: check protocol headers. >=20 > parameter format: mbuf_check=3D[mbuf,,] > eg: dpdk-testpmd -a 0000:81:01.0,mbuf_check=3D[mbuf,size] -- -i >=20 > Signed-off-by: Mingjin Ye > + > +static uint16_t > +iavf_xmit_pkts_chain(void *tx_queue, struct rte_mbuf **tx_pkts, > +uint16_t nb_pkts) { > + struct iavf_tx_queue *txq =3D tx_queue; > + struct iavf_adapter *adapter =3D txq->vsi->adapter; > + struct iavf_tx_burst_elem *pos; > + struct iavf_tx_burst_elem *save_next; > + struct iavf_pkt_burst *item; > + uint16_t ret; > + > + item =3D &ice_rxtx_pkt_burst[adapter->dev_data->port_id]; > + RTE_TAILQ_FOREACH_SAFE(pos, &item->tx_burst_list, next, > save_next) { > + ret =3D pos->tx_pkt_burst(tx_queue, tx_pkts, nb_pkts); > + if (nb_pkts !=3D ret) This is not correct, > + break; > + } > + > + return ret; > +} > + >=20 > /* choose rx function*/ > @@ -3973,9 +4226,6 @@ iavf_set_rx_function(struct rte_eth_dev *dev) > void iavf_set_tx_function(struct rte_eth_dev *dev) { > - struct iavf_adapter *adapter =3D > - IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); > - int no_poll_on_link_down =3D adapter- > >devargs.no_poll_on_link_down; > #ifdef RTE_ARCH_X86 > struct iavf_tx_queue *txq; > int i; > @@ -4062,10 +4312,7 @@ iavf_set_tx_function(struct rte_eth_dev *dev) > #endif > } >=20 > - if (no_poll_on_link_down) { > - adapter->tx_pkt_burst =3D dev->tx_pkt_burst; > - dev->tx_pkt_burst =3D iavf_xmit_pkts_no_poll; > - } > + iavf_set_tx_interceptors(dev); If no_poll or diagnose mode are not enabled, why we still need to intercept= or?,=20 Btw, its too heavy to use a chain here and I even didn't see an Rx chain im= plementation. Why not simplify it as below: adapter->tx_pkt_burst =3D dev->tx_pkt_burst; if (no_poll_on_link_down) dev->tx_pkt_burst =3D iavf_xmit_pkts_no_poll; else if (diagnose mode) dev->tx_pkt_burst =3D iavf_xmit_pkt_mdd_check. then iavf_xmit_pkt_mdd_check, call iavf_xmit_pkts_no_poll or adapter->tx_p= kt_burst