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 E6858A0544; Sat, 28 May 2022 04:21:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D7E3742826; Sat, 28 May 2022 04:21:50 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id D221942826 for ; Sat, 28 May 2022 04:21:48 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.56]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4L955c48czzDqVC; Sat, 28 May 2022 10:21:40 +0800 (CST) Received: from [10.67.103.128] (10.67.103.128) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Sat, 28 May 2022 10:21:46 +0800 Subject: Re: [PATCH 1/4] ethdev: introduce ethdev HW desc dump PI To: Stephen Hemminger CC: , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Ray Kinsella References: <20220527023351.40577-1-humin29@huawei.com> <20220527023351.40577-2-humin29@huawei.com> <20220527083418.42910de6@hermes.local> From: "Min Hu (Connor)" Message-ID: <2ccc036c-4bec-1888-0f27-e0d957a8b70d@huawei.com> Date: Sat, 28 May 2022 10:21:46 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1 MIME-Version: 1.0 In-Reply-To: <20220527083418.42910de6@hermes.local> Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.103.128] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemi500012.china.huawei.com (7.221.188.12) 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 Thanks Stephen, v2 has been sent. ÔÚ 2022/5/27 23:34, Stephen Hemminger дµÀ: > On Fri, 27 May 2022 10:33:48 +0800 > "Min Hu (Connor)" wrote: > >> Added the ethdev HW Rx desc dump API which provides functions for query >> HW descriptor from device. HW descriptor info differs in different NICs. >> The information demonstrates I/O process which is important for debug. >> As the information is different between NICs, the new API is introduced. >> >> Signed-off-by: Min Hu (Connor) >> --- >> doc/guides/rel_notes/release_22_07.rst | 6 ++++ >> lib/ethdev/ethdev_driver.h | 42 ++++++++++++++++++++++++ >> lib/ethdev/rte_ethdev.c | 44 ++++++++++++++++++++++++++ >> lib/ethdev/rte_ethdev.h | 44 ++++++++++++++++++++++++++ >> lib/ethdev/version.map | 2 ++ >> 5 files changed, 138 insertions(+) >> >> diff --git a/doc/guides/rel_notes/release_22_07.rst b/doc/guides/rel_notes/release_22_07.rst >> index 0ed4f92820..cfb9117dd3 100644 >> --- a/doc/guides/rel_notes/release_22_07.rst >> +++ b/doc/guides/rel_notes/release_22_07.rst >> @@ -95,6 +95,12 @@ New Features >> * Added AH mode support in lookaside protocol (IPsec) for CN9K & CN10K. >> * Added AES-GMAC support in lookaside protocol (IPsec) for CN9K & CN10K. >> >> +* **Added ethdev HW desc dump API, to dump Rx/Tx HW desc info from device.** >> + >> + Added the ethdev HW Rx desc dump API which provides functions for query >> + HW descriptor from device. HW descriptor info differs in different NICs. >> + The information demonstrates I/O process which is important for debug. >> + As the information is different between NICs, the new API is introduced. >> >> Removed Items >> ------------- >> diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h >> index 69d9dc21d8..89512ab360 100644 >> --- a/lib/ethdev/ethdev_driver.h >> +++ b/lib/ethdev/ethdev_driver.h >> @@ -1073,6 +1073,42 @@ typedef int (*eth_ip_reassembly_conf_set_t)(struct rte_eth_dev *dev, >> */ >> typedef int (*eth_dev_priv_dump_t)(struct rte_eth_dev *dev, FILE *file); >> >> +/** >> + * @internal >> + * Dump ethdev Rx descriptor info to a file. >> + * >> + * @param file >> + * A pointer to a file for output. >> + * @param dev >> + * Port (ethdev) handle. >> + * @param queue_id >> + * The selected queue. >> + * @param desc_id >> + * The selected descriptor. >> + * @return >> + * Negative errno value on error, zero on success. >> + */ >> +typedef int (*eth_rx_hw_desc_dump_t)(FILE *file, struct rte_eth_dev *dev, >> + uint16_t queue_id, uint16_t desc_id); >> + >> +/** >> + * @internal >> + * Dump ethdev Tx descriptor info to a file. >> + * >> + * @param file >> + * A pointer to a file for output. >> + * @param dev >> + * Port (ethdev) handle. >> + * @param queue_id >> + * The selected queue. >> + * @param desc_id >> + * The selected descriptor. >> + * @return >> + * Negative errno value on error, zero on success. >> + */ >> +typedef int (*eth_tx_hw_desc_dump_t)(FILE *file, struct rte_eth_dev *dev, >> + uint16_t queue_id, uint16_t desc_id); > > Should be 'const struct rte_eth_dev *dev' to remind developers that dump > should not modify device? > . >