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 A320FA034F; Mon, 22 Mar 2021 15:49:27 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2FE1C40040; Mon, 22 Mar 2021 15:49:27 +0100 (CET) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id 240994003D for ; Mon, 22 Mar 2021 15:49:26 +0100 (CET) Received: from [192.168.38.17] (aros.oktetlabs.ru [192.168.38.17]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id 743E47F4F8; Mon, 22 Mar 2021 17:49:25 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 743E47F4F8 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1616424565; bh=2hHq38g/JwwQG6FDJSJwtJcSOJQsiHaGPQm9XwMWcec=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=NEQPUZv2NO8cVdHLvqfC4LkxCmKISDZk29bWEz2A4rTukl8aOPNdCkjYt7scgQwia LUgaxi3vmZLKYkA6ICaS/fZDwvhfEedTa3g6RDNp8SAFcWi2djImryK7bkJgDqbY9K Ex1UPoTbF8CD+uRZqQzbGs3OL0BTtBVBh7BqiPBk= To: Ferruh Yigit , Lijun Ou , thomas@monjalon.net Cc: dev@dpdk.org, linuxarm@openeuler.org, Andrew Rybchenko , David Marchand , Ray Kinsella , Luca Boccassi References: <1616070332-63414-1-git-send-email-oulijun@huawei.com> From: Andrew Rybchenko Organization: OKTET Labs Message-ID: Date: Mon, 22 Mar 2021 17:49:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH] ethdev: add queue state when retrieve queue information 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 Sender: "dev" On 3/22/21 12:22 PM, Ferruh Yigit wrote: > On 3/18/2021 12:25 PM, Lijun Ou wrote: >> Currently, upper-layer application could get queue state only >> through pointers such as dev->data->tx_queue_state[queue_id], >> this is not the recommended way to access it. So this patch >> add get queue state when call rte_eth_rx_queue_info_get and >> rte_eth_tx_queue_info_get API. >> >> Note: The hairpin queue is not supported with above >> rte_eth_*x_queue_info_get, so the queue state could be >> RTE_ETH_QUEUE_STATE_STARTED or RTE_ETH_QUEUE_STATE_STOPPED. >> Note: After add queue_state field, the 'struct rte_eth_rxq_info' size >> remains 128B, and the 'struct rte_eth_txq_info' size remains 64B, so >> it could be ABI compatible. >> >> Signed-off-by: Chengwen Feng >> Signed-off-by: Lijun Ou > > <...> > >> diff --git a/lib/librte_ethdev/rte_ethdev.h >> b/lib/librte_ethdev/rte_ethdev.h >> index efda313..3b83c5a 100644 >> --- a/lib/librte_ethdev/rte_ethdev.h >> +++ b/lib/librte_ethdev/rte_ethdev.h >> @@ -1591,6 +1591,8 @@ struct rte_eth_rxq_info { >>       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. */ >> +    /**< Queues state: STARTED(1) / STOPPED(0). */ >> +    uint8_t queue_state; >>   } __rte_cache_min_aligned; >>     /** >> @@ -1600,6 +1602,8 @@ struct rte_eth_rxq_info { >>   struct rte_eth_txq_info { >>       struct rte_eth_txconf conf; /**< queue config parameters. */ >>       uint16_t nb_desc;           /**< configured number of TXDs. */ >> +    /**< Queues state: STARTED(1) / STOPPED(0). */ >> +    uint8_t queue_state; >>   } __rte_cache_min_aligned; >>     /* Generic Burst mode flag definition, values can be ORed. */ >> > > This is causing an ABI warning [1], but I guess it is safe since the > size of the struct is not changing (cache align). Adding a few more > people to comment. > > > [1] > https://travis-ci.com/github/ovsrobot/dpdk/builds/220497651 Frankly speaking I dislike addition of queue_state as uint8_t. IMHO it should be either 'bool started' or enum to support more states in the future if we need.