net/txgbe: remove warning functions

Message ID 20201106021053.2015777-1-jiawenwu@trustnetic.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/txgbe: remove warning functions |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/Intel-compilation success Compilation OK
ci/iol-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Jiawen Wu Nov. 6, 2020, 2:10 a.m. UTC
  Remove rte_panic(), and use rte_atomic_thread_fence()
instead of rte_smp_[r/w]mb.

Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
 drivers/net/txgbe/base/txgbe_osdep.h | 2 +-
 drivers/net/txgbe/txgbe_rxtx.c       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Ferruh Yigit Nov. 6, 2020, 12:39 p.m. UTC | #1
On 11/6/2020 2:10 AM, Jiawen Wu wrote:
> Remove rte_panic(), and use rte_atomic_thread_fence()
> instead of rte_smp_[r/w]mb.
> 
> Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Applied to dpdk-next-net/main, thanks.


The remaining fix is :
	Using compiler attribute directly

I can see two instances are used:
1)
drivers/net/txgbe/base/txgbe_dummy.h
10:#define TUP(x) x##_unused __attribute__((unused))

2)
drivers/net/txgbe/base/txgbe_osdep.h
152:#define __rte_weak __attribute__((__weak__))


I think 2) simple can be removed completely, since it is not used at all.


For 1) can it be moved to osdep.h? like:

#define TUP(x) x##_unused txgbe_unused
txgbe_osdep.h: #define txgbe_unused __rte_unused
  
Jiawen Wu Nov. 9, 2020, 7:32 a.m. UTC | #2
On Friday, November 6, 2020 8:39 PM, Ferruh Yigit wrote:
> On 11/6/2020 2:10 AM, Jiawen Wu wrote:
> > Remove rte_panic(), and use rte_atomic_thread_fence() instead of
> > rte_smp_[r/w]mb.
> >
> > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
> 
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Applied to
> dpdk-next-net/main, thanks.
> 
> 
> The remaining fix is :
> 	Using compiler attribute directly
> 
> I can see two instances are used:
> 1)
> drivers/net/txgbe/base/txgbe_dummy.h
> 10:#define TUP(x) x##_unused __attribute__((unused))
> 
> 2)
> drivers/net/txgbe/base/txgbe_osdep.h
> 152:#define __rte_weak __attribute__((__weak__))
> 
> 
> I think 2) simple can be removed completely, since it is not used at all.
> 
> 
> For 1) can it be moved to osdep.h? like:
> 
> #define TUP(x) x##_unused txgbe_unused
> txgbe_osdep.h: #define txgbe_unused __rte_unused

Thanks Ferruh,

It's a good way to deal with the remaining warning.
There will also be a patch to fix it.
  

Patch

diff --git a/drivers/net/txgbe/base/txgbe_osdep.h b/drivers/net/txgbe/base/txgbe_osdep.h
index f3d443ad3..756eb50eb 100644
--- a/drivers/net/txgbe/base/txgbe_osdep.h
+++ b/drivers/net/txgbe/base/txgbe_osdep.h
@@ -27,7 +27,7 @@ 
 
 #define ASSERT(x) do {			\
 	if (!(x))			\
-		rte_panic("TXGBE: x");	\
+		PMD_DRV_LOG(ERR, "TXGBE: %d", x);	\
 } while (0)
 
 #define usec_delay(x) rte_delay_us(x)
diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c
index 00214b48f..82dde509a 100644
--- a/drivers/net/txgbe/txgbe_rxtx.c
+++ b/drivers/net/txgbe/txgbe_rxtx.c
@@ -1145,7 +1145,7 @@  txgbe_rx_scan_hw_ring(struct txgbe_rx_queue *rxq)
 		for (j = 0; j < LOOK_AHEAD; j++)
 			s[j] = rte_le_to_cpu_32(rxdp[j].qw1.lo.status);
 
-		rte_smp_rmb();
+		rte_atomic_thread_fence(__ATOMIC_ACQUIRE);
 
 		/* Compute how many status bits were set */
 		for (nb_dd = 0; nb_dd < LOOK_AHEAD &&