[dpdk-dev] [PATCH v3] net/ice: faster bit check

Paul M Stillwell Jr paul.m.stillwell.jr at intel.com
Fri Feb 15 19:13:21 CET 2019


From: Jesse Brandeburg <jesse.brandeburg at intel.com>

Implement a slightly faster bit check, used for checking
descriptors in the hot path.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg at intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr at intel.com>
---
v3: really fix checkpatch issues
v2: fixed checkpatch issues
---
 drivers/net/ice/ice_rxtx.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index c794ee8..c01fdaf 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -955,14 +955,13 @@
 static inline uint64_t
 ice_rxd_status_to_pkt_flags(uint64_t qword)
 {
-	uint64_t flags;
-
+	static const uint64_t bitcheck =
+		(ICE_RX_DESC_FLTSTAT_RSS_HASH << ICE_RX_DESC_STATUS_FLTSTAT_S);
 	/* Check if RSS_HASH */
-	flags = (((qword >> ICE_RX_DESC_STATUS_FLTSTAT_S) &
-		  ICE_RX_DESC_FLTSTAT_RSS_HASH) ==
-		 ICE_RX_DESC_FLTSTAT_RSS_HASH) ? PKT_RX_RSS_HASH : 0;
+	if ((qword & bitcheck) == bitcheck)
+		return PKT_RX_RSS_HASH;
 
-	return flags;
+	return 0;
 }
 
 /* Rx L3/L4 checksum */
-- 
1.8.3.1



More information about the dev mailing list