eal: introduce macro for no inline
authorJerin Jacob <jerin.jacob@caviumnetworks.com>
Sat, 13 May 2017 09:27:27 +0000 (14:57 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 6 Jun 2017 20:31:45 +0000 (22:31 +0200)
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
drivers/net/bnx2x/bnx2x.c
drivers/net/dpaa2/dpaa2_rxtx.c
drivers/net/mlx4/mlx4.c
lib/librte_eal/common/include/rte_common.h

index 1a7e1c8..207f0e1 100644 (file)
@@ -120,7 +120,7 @@ static int bnx2x_alloc_mem(struct bnx2x_softc *sc);
 static void bnx2x_free_mem(struct bnx2x_softc *sc);
 static int bnx2x_alloc_fw_stats_mem(struct bnx2x_softc *sc);
 static void bnx2x_free_fw_stats_mem(struct bnx2x_softc *sc);
-static __attribute__ ((noinline))
+static __rte_noinline
 int bnx2x_nic_load(struct bnx2x_softc *sc);
 
 static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc);
@@ -1962,7 +1962,7 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)
 }
 
 /* stop the controller */
-__attribute__ ((noinline))
+__rte_noinline
 int
 bnx2x_nic_unload(struct bnx2x_softc *sc, uint32_t unload_mode, uint8_t keep_link)
 {
@@ -7124,7 +7124,7 @@ void bnx2x_periodic_callout(struct bnx2x_softc *sc)
 }
 
 /* start the controller */
-static __attribute__ ((noinline))
+static __rte_noinline
 int bnx2x_nic_load(struct bnx2x_softc *sc)
 {
        uint32_t val;
index c5d49cb..ff9a696 100644 (file)
@@ -171,7 +171,7 @@ eth_fd_to_mbuf(const struct qbman_fd *fd)
        return mbuf;
 }
 
-static void __attribute__ ((noinline)) __attribute__((hot))
+static void __rte_noinline __attribute__((hot))
 eth_mbuf_to_fd(struct rte_mbuf *mbuf,
               struct qbman_fd *fd, uint16_t bpid)
 {
index ec4419a..0d7b4b6 100644 (file)
@@ -1098,7 +1098,7 @@ static int mlx4_check_mempool(struct rte_mempool *mp, uintptr_t *start,
 
 /* For best performance, this function should not be inlined. */
 static struct ibv_mr *mlx4_mp2mr(struct ibv_pd *, struct rte_mempool *)
-       __attribute__((noinline));
+       __rte_noinline;
 
 /**
  * Register mempool as a memory region.
index a9a7494..27bfbd4 100644 (file)
@@ -107,6 +107,11 @@ typedef uint16_t unaligned_uint16_t;
  */
 #define __rte_always_inline inline __attribute__((always_inline))
 
+/**
+ * Force a function to be noinlined
+ */
+#define __rte_noinline  __attribute__((noinline))
+
 /*********** Macros for pointer arithmetic ********/
 
 /**