From patchwork Thu Oct 13 12:42:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: fengchengwen X-Patchwork-Id: 118158 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5ACD9A0093; Thu, 13 Oct 2022 14:48:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 09A2242F7C; Thu, 13 Oct 2022 14:48:17 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 7E59C42F3A for ; Thu, 13 Oct 2022 14:48:13 +0200 (CEST) Received: from dggpeml500024.china.huawei.com (unknown [172.30.72.53]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4Mp8MV4HYTz1P7KQ; Thu, 13 Oct 2022 20:43:34 +0800 (CST) Received: from localhost.localdomain (10.67.165.24) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 13 Oct 2022 20:48:10 +0800 From: Chengwen Feng To: , , CC: , , , , , Subject: [PATCH v13 0/5] support error handling mode Date: Thu, 13 Oct 2022 12:42:22 +0000 Message-ID: <20221013124227.40123-1-fengchengwen@huawei.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220128124831.427-1-kalesh-anakkur.purayil@broadcom.com> References: <20220128124831.427-1-kalesh-anakkur.purayil@broadcom.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.24] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To dggpeml500024.china.huawei.com (7.185.36.10) X-CFilter-Loop: Reflected 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 This patchset introduce error handling mode concept, the supported modes are as follows: 1) PASSIVE: passive error handling, after the PMD detect that a reset is required, the PMD reports RTE_ETH_EVENT_INTR_RESET event, and application invoke rte_eth_dev_reset to recover the port. 2) PROACTIVE: proactive error handling, after the PMD detect that a reset is required, the PMD reports RTE_ETH_EVENT_ERR_RECOVERING event, and do recovery internally, finally, reports the recovery result event. Chengwen Feng (2): ethdev: add error handling mode to device info net/hns3: support proactive error handling mode Kalesh AP (3): ethdev: support proactive error handling mode app/testpmd: support error handling mode event net/bnxt: support proactive error handling mode --- v13: Address comments from Andrew (rework part of rst). v12: Address comments from Andrew. v11: Fix clang-static fail due wrong experimental placement. v10: Accurately describe the recovery success scenario so that addressed comments from Ferruh. v9: Introduce error handling mode concept. Addressed comments from Thomas and Ray. v8: Addressed comments from Thomas and Ferruh. Also introduced RECOVER_FAIL event. Add hns3 driver patch. v7: Addressed comments from Thomas and Andrew. v6: Addressed comments from Asaf Penso. 1. Updated 20.11 release notes with the new events added. 2. updated testpmd parse_event_printing_config function. v5: Addressed comments from Ophir Munk. 1. Renamed the new event name to RTE_ETH_EVENT_ERR_RECOVERING. 2. Fixed testpmd logs. 3. Documented the new recovery events. v4: Addressed comments from Thomas Monjalon 1. Added doxygen comments about new events. V3: Fixed a typo in commit log. V2: Added a new event RTE_ETH_EVENT_RESET instead of using the RTE_ETH_EVENT_INTR_RESET to notify applications about device reset. app/test-pmd/config.c | 15 +++++ app/test-pmd/parameters.c | 10 +++- app/test-pmd/testpmd.c | 8 ++- doc/guides/prog_guide/poll_mode_drv.rst | 41 +++++++++++++ doc/guides/rel_notes/release_22_11.rst | 12 ++++ drivers/net/bnxt/bnxt_cpr.c | 4 ++ drivers/net/bnxt/bnxt_ethdev.c | 13 ++++- drivers/net/e1000/igb_ethdev.c | 2 + drivers/net/ena/ena_ethdev.c | 2 + drivers/net/hns3/hns3_common.c | 2 + drivers/net/hns3/hns3_intr.c | 24 ++++++++ drivers/net/iavf/iavf_ethdev.c | 2 + drivers/net/ixgbe/ixgbe_ethdev.c | 2 + drivers/net/txgbe/txgbe_ethdev_vf.c | 2 + lib/ethdev/rte_ethdev.h | 77 +++++++++++++++++++++++++ 15 files changed, 212 insertions(+), 4 deletions(-)