[dpdk-dev] [PATCH v2] ethdev: Rename RX/TX enable queue field for queue start and stop
Ouyang, Changchun
changchun.ouyang at intel.com
Thu Sep 25 16:26:56 CEST 2014
Hi Thomas,
Thanks very much for your comments!
I will rework this patch and also update for i40e.
Thanks and best regards,
Changchun
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Thursday, September 25, 2014 5:31 PM
> To: Ouyang, Changchun
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] ethdev: Rename RX/TX enable queue
> field for queue start and stop
>
> Hi Ouyang,
>
> 2014-07-23 12:48, Ouyang Changchun:
> > Update comments for the field start_rx_per_q for better readability.
> > Rename the field name to rx_enable_queue for better readability too.
> > Accordingly Update its reference in sample vhost.
>
> > - uint8_t start_rx_per_q; /**< start rx per queue. */
> > + /**< If rx_enable_queue is true, rte_eth_dev_rx_queue_start
> should be
> > + invocated to start RX for one queue after rte_eth_dev_start
> is
> > + invocated, and rte_eth_dev_rx_queue_start instead of
> > + rte_eth_dev_start is responsible for allocating mbuf from
> > + mempool and setup the DMA physical address. It is useful in
> > + such scenario: buffer address is not available at the point of
> > + rte_eth_dev_start's invocating but available later, e.g. in
> > + VHOST zero copy case, the buffer address used to setup
> DMA
> > + address is available only after one VM(guest) startup. */
> > + uint8_t rx_enable_queue;
> > };
>
> I have many comments here.
>
> The doxygen comment /**< must be used only after the symbol you are
> commenting:
> http://doxygen.org/manual/docblocks.html#memberdoc
>
> The comment is too long.
> The use case would be in the manual, not in doxygen.
> The comment about rte_eth_dev_rx_queue_start would be in the doxygen
> comment of rte_eth_dev_rx_queue_start.
>
> When this variable is set, it doesn't enable anything. It only disables the
> queue when doing a global start. Its name should be rx_deferred_start.
> All fields of this structure are about one queue, so the "queue" word is not
> needed.
>
> > - uint8_t start_tx_per_q; /**< start tx per queue. */
> > + /**< If tx_enable_queue is true, rte_eth_dev_tx_queue_start must
> be
> > + invocated to start TX for one queue after rte_eth_dev_start
> is
> > + invocated. Refer to start_rx_per_q for the use case. */
> > + uint8_t tx_enable_queue;
> > };
>
> You refer to the old name (start_rx_per_q).
> By the way, a one line description (without referral) for both fields should be
> enough. Something like "do not start with rte_eth_dev_start()".
>
> > @@ -3652,13 +3652,13 @@ ixgbe_dev_rxtx_start(struct rte_eth_dev *dev)
> >
> > for (i = 0; i < dev->data->nb_tx_queues; i++) {
> > txq = dev->data->tx_queues[i];
> > - if (!txq->start_tx_per_q)
> > + if (!txq->tx_enable_queue)
> > ixgbe_dev_tx_queue_start(dev, i);
> > }
>
> Here it's clear that this field is about disabling start.
>
> Please rework this patch and update i40e accordingly.
> Thanks
> --
> Thomas
More information about the dev
mailing list