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 AD3A2A04CC; Mon, 21 Sep 2020 15:25:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 38E8D1DA30; Mon, 21 Sep 2020 15:25:20 +0200 (CEST) Received: from huawei.com (szxga04-in.huawei.com [45.249.212.190]) by dpdk.org (Postfix) with ESMTP id A9FFE1D9D7 for ; Mon, 21 Sep 2020 15:25:17 +0200 (CEST) Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id B69B4525A903D6D540B9; Mon, 21 Sep 2020 21:25:12 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.487.0; Mon, 21 Sep 2020 21:25:05 +0800 From: Chengchang Tang To: CC: , , , , , Date: Mon, 21 Sep 2020 21:22:37 +0800 Message-ID: <1600694558-19120-2-git-send-email-tangchengchang@huawei.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1600694558-19120-1-git-send-email-tangchengchang@huawei.com> References: <1592483709-7076-1-git-send-email-tangchengchang@huawei.com> <1600694558-19120-1-git-send-email-tangchengchang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.56] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH v5 1/2] ethdev: add a field for rxq info structure 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" Add a field named rx_buf_size in rte_eth_rxq_info to indicate the buffer size used in receiving packets for HW. In this way, upper-layer users can get this information by calling rte_eth_rx_queue_info_get. Signed-off-by: Chengchang Tang Reviewed-by: Wei Hu (Xavier) Acked-by: Andrew Rybchenko --- app/proc-info/main.c | 13 +++++++++---- app/test-pmd/config.c | 2 ++ doc/guides/rel_notes/deprecation.rst | 5 ----- lib/librte_ethdev/rte_ethdev.h | 1 + 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 0b030d3..64fb83b 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -708,15 +708,20 @@ show_port(void) for (j = 0; j < dev_info.nb_rx_queues; j++) { ret = rte_eth_rx_queue_info_get(i, j, &queue_info); if (ret == 0) { - printf("\t -- queue %d rx scatter %d" - " descriptors %d" - " offloads 0x%"PRIx64 - " mempool socket %d\n", + printf("\t -- queue %u rx scatter %u" + " descriptors %u" + " offloads 0x%" PRIx64 + " mempool socket %d", j, queue_info.scattered_rx, queue_info.nb_desc, queue_info.conf.offloads, queue_info.mp->socket_id); + + if (queue_info.rx_buf_size != 0) + printf(" rx buffer size %u", + queue_info.rx_buf_size); + printf("\n"); } } diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index b6eb2a5..2d9a456 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -452,6 +452,8 @@ rx_queue_infos_display(portid_t port_id, uint16_t queue_id) (qinfo.conf.rx_deferred_start != 0) ? "on" : "off"); printf("\nRX scattered packets: %s", (qinfo.scattered_rx != 0) ? "on" : "off"); + if (qinfo.rx_buf_size != 0) + printf("\nRX buffer size: %hu", qinfo.rx_buf_size); printf("\nNumber of RXDs: %hu", qinfo.nb_desc); if (rte_eth_rx_burst_mode_get(port_id, queue_id, &mode) == 0) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index b136576..1beb76d 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -189,11 +189,6 @@ Deprecation Notices specified lengths into the buffers allocated from the specified memory pools. The backward compatibility to existing API is preserved. -* ethdev: The ``struct rte_eth_rxq_info`` will be modified to include - a new optional field, indicating the buffer size used in receiving packets - for HW. This change is planned for 20.11. For more details: - https://mails.dpdk.org/archives/dev/2020-July/176135.html. - * ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done`` will be removed in 21.11. Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status`` diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index c3ab541..eeef52e 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -1449,6 +1449,7 @@ struct rte_eth_rxq_info { struct rte_eth_rxconf conf; /**< queue config parameters. */ uint8_t scattered_rx; /**< scattered packets RX supported. */ uint16_t nb_desc; /**< configured number of RXDs. */ + uint16_t rx_buf_size; /**< hardware receive buffer size. */ } __rte_cache_min_aligned; /** -- 2.7.4