Hi Thomas, > -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Thursday, July 23, 2015 5:17 PM > To: Ananyev, Konstantin > Cc: dev at dpdk.org; Stephen Hemminger > Subject: Re: [dpdk-dev] [PATCHv4 1/5] ethdev: add new API to retrieve RX/TX > queue information > > 2015-07-23 10:52, Ananyev, Konstantin: > > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > > > Konstantin Ananyev <konstantin.ananyev at intel.com> wrote: > > > > Add the ability for the upper layer to query RX/TX queue information. > [...] > > > Since all this data should be rxconf already, Is it possible > > > to do a generic version of this and not have to change every driver. > > > > I don't think it is possible to implement these two functions at rte_etdev > > level only. > > At least not with current ethdev/PMD implementation: > > - Inside struct rte_eth_dev_info we have only: 'struct rte_eth_rxconf > > default_rxconf;'. > > We don't have rxconf here for each configured rx queue. > > That information is maintained by PMD and inside PMD, different devices > > have different format for queue structure. > > - rte_eth_rxq_info contains not only rxconf but some extra information: > > mempool in use by that queue, > > min/max possible number of descriptors. > > Also my intention was that in future that structure would be extended to > > provide some RT info about queue: > > (number of free/used descriptors from SW point of view, etc). > > Isn't it what rte_eth_rx_queue_count() provides?
Not exactly. rte_eth_rx_queue_count() actually scans HW descriptors to check their status. I was thinking about returning just a snapshot of SW state: how many free/used RXDs are from PMD perspective (just by collecting info from *_rx_queue structure, without reading actual HW registers/descriptors). Anyway, right now it is not implemented - it is just a thought for future expansion. Konstantin > Maybe we should deprecate it in favor of rte_eth_rx_queue_info_get().