[dpdk-dev] [PATCH v3 10/10] vmxnet3: remove excess inlining

Yong Wang yongwang at vmware.com
Sat Mar 7 00:54:23 CET 2015


On 3/5/15, 4:10 PM, "Stephen Hemminger" <stephen at networkplumber.org> wrote:

>From: Stephen Hemminger <shemming at brocade.com>
>
>No reason to inline large functions. Compiler will decide already
>based on optimization level.
>
>Also register array should be const.
>
>Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>

One comment below.

Acked-by: Yong Wang <yongwang at vmware.com>

>---
> lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
>diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>index f6c3452..cabb505 100644
>--- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>+++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>@@ -84,10 +84,8 @@
> #define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \
> 	(uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM)
> 
>-static uint32_t rxprod_reg[2] = {VMXNET3_REG_RXPROD,
>VMXNET3_REG_RXPROD2};
>+static const uint32_t rxprod_reg[2] = {VMXNET3_REG_RXPROD,
>VMXNET3_REG_RXPROD2};
> 
>-static inline int vmxnet3_post_rx_bufs(vmxnet3_rx_queue_t* , uint8_t);
>-static inline void vmxnet3_tq_tx_complete(vmxnet3_tx_queue_t *);
> #ifdef RTE_LIBRTE_VMXNET3_DEBUG_DRIVER_NOT_USED
> static void vmxnet3_rxq_dump(struct vmxnet3_rx_queue *);
> static void vmxnet3_txq_dump(struct vmxnet3_tx_queue *);
>@@ -157,7 +155,7 @@ vmxnet3_txq_dump(struct vmxnet3_tx_queue *txq)
> }
> #endif
> 
>-static inline void
>+static void
> vmxnet3_cmd_ring_release_mbufs(vmxnet3_cmd_ring_t *ring)
> {
> 	while (ring->next2comp != ring->next2fill) {
>@@ -296,7 +294,7 @@ vmxnet3_dev_clear_queues(struct rte_eth_dev *dev)
> 	}
> }
> 
>-static inline void
>+static void
> vmxnet3_tq_tx_complete(vmxnet3_tx_queue_t *txq)

Since there is only one caller of this routine, inlining it should be
fine. But I have no problem with letting the compiler decide (which
probably will inline it anyway for this particular case).

> {
> 	int completed = 0;
>@@ -472,7 +470,7 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf
>**tx_pkts,
>  *      only for LRO.
>  *
>  */
>-static inline int
>+static int
> vmxnet3_post_rx_bufs(vmxnet3_rx_queue_t *rxq, uint8_t ring_id)
> {
> 	int err = 0;
>-- 
>2.1.4
>



More information about the dev mailing list