[v3] drivers/net: enable packet data prefetch on x86
Checks
Commit Message
Data prefetch instruction can preload data into cpu’s hierarchical
cache before data access. Data paths like e1000 and virtio utilized
this feature for packet data access acceleration. Enabled packet data
prefetch on x86 architecture, as prefetch instruction has been
supported from very early generation.
Signed-off-by: Marvin Liu <yong.liu@intel.com>
---
v3: replace build config with pre-defined architecture macro
v2: move define from meson.build to rte_config.h
---
@@ -185,7 +185,7 @@ struct em_tx_queue {
#define rte_em_prefetch(p) do {} while(0)
#endif
-#ifdef RTE_PMD_PACKET_PREFETCH
+#if defined(RTE_ARCH_X86)
#define rte_packet_prefetch(p) rte_prefetch1(p)
#else
#define rte_packet_prefetch(p) do {} while(0)
@@ -198,7 +198,7 @@ struct igb_tx_queue {
#define rte_igb_prefetch(p) do {} while(0)
#endif
-#ifdef RTE_PMD_PACKET_PREFETCH
+#if defined(RTE_ARCH_X86)
#define rte_packet_prefetch(p) rte_prefetch1(p)
#else
#define rte_packet_prefetch(p) do {} while(0)
@@ -25,7 +25,7 @@
#define rte_enic_prefetch(p) do {} while (0)
#endif
-#ifdef RTE_PMD_PACKET_PREFETCH
+#if defined(RTE_ARCH_X86)
#define rte_packet_prefetch(p) rte_prefetch1(p)
#else
#define rte_packet_prefetch(p) do {} while (0)
@@ -10,7 +10,7 @@
#include "fm10k.h"
#include "base/fm10k_type.h"
-#ifdef RTE_PMD_PACKET_PREFETCH
+#if defined(RTE_ARCH_X86)
#define rte_packet_prefetch(p) rte_prefetch1(p)
#else
#define rte_packet_prefetch(p) do {} while (0)
@@ -16,7 +16,7 @@
#define rte_igc_prefetch(p) do {} while (0)
#endif
-#ifdef RTE_PMD_PACKET_PREFETCH
+#if defined(RTE_ARCH_X86)
#define rte_packet_prefetch(p) rte_prefetch1(p)
#else
#define rte_packet_prefetch(p) do {} while (0)
@@ -41,7 +41,7 @@
#define RX_RING_SZ ((IXGBE_MAX_RING_DESC + RTE_PMD_IXGBE_RX_MAX_BURST) * \
sizeof(union ixgbe_adv_rx_desc))
-#ifdef RTE_PMD_PACKET_PREFETCH
+#if defined(RTE_ARCH_X86)
#define rte_packet_prefetch(p) rte_prefetch1(p)
#else
#define rte_packet_prefetch(p) do {} while(0)
@@ -106,7 +106,7 @@ virtqueue_store_flags_packed(struct vring_packed_desc *dp,
dp->flags = flags;
}
}
-#ifdef RTE_PMD_PACKET_PREFETCH
+#if defined(RTE_ARCH_X86)
#define rte_packet_prefetch(p) rte_prefetch1(p)
#else
#define rte_packet_prefetch(p) do {} while(0)