Remove c-11 memcpy checks from perf-critical code
[vpp.git] / src / plugins / avf / input.c
index efe3b0e..509b497 100644 (file)
@@ -48,7 +48,7 @@ static __clib_unused char *avf_input_error_strings[] = {
 #define AVF_INPUT_REFILL_TRESHOLD 32
 static_always_inline void
 avf_rxq_refill (vlib_main_t * vm, vlib_node_runtime_t * node, avf_rxq_t * rxq,
-               int use_iova)
+               int use_va_dma)
 {
   u16 n_refill, mask, n_alloc, slot;
   u32 s0, s1, s2, s3;
@@ -103,7 +103,7 @@ avf_rxq_refill (vlib_main_t * vm, vlib_node_runtime_t * node, avf_rxq_t * rxq,
       b[2] = vlib_get_buffer (vm, rxq->bufs[s2]);
       b[3] = vlib_get_buffer (vm, rxq->bufs[s3]);
 
-      if (use_iova)
+      if (use_va_dma)
        {
          d[0]->qword[0] = vlib_buffer_get_va (b[0]);
          d[1]->qword[0] = vlib_buffer_get_va (b[1]);
@@ -132,7 +132,7 @@ avf_rxq_refill (vlib_main_t * vm, vlib_node_runtime_t * node, avf_rxq_t * rxq,
       s0 = slot;
       d[0] = ((avf_rx_desc_t *) rxq->descs) + s0;
       b[0] = vlib_get_buffer (vm, rxq->bufs[s0]);
-      if (use_iova)
+      if (use_va_dma)
        d[0]->qword[0] = vlib_buffer_get_va (b[0]);
       else
        d[0]->qword[0] = vlib_buffer_get_pa (vm, b[0]);
@@ -258,14 +258,14 @@ avf_process_rx_burst (vlib_main_t * vm, vlib_node_runtime_t * node,
            vnet_buffer (bt)->feature_arc_index;
        }
 
-      clib_memcpy (vnet_buffer (b[0])->sw_if_index,
-                  vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
-      clib_memcpy (vnet_buffer (b[1])->sw_if_index,
-                  vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
-      clib_memcpy (vnet_buffer (b[2])->sw_if_index,
-                  vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
-      clib_memcpy (vnet_buffer (b[3])->sw_if_index,
-                  vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
+      clib_memcpy_fast (vnet_buffer (b[0])->sw_if_index,
+                       vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
+      clib_memcpy_fast (vnet_buffer (b[1])->sw_if_index,
+                       vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
+      clib_memcpy_fast (vnet_buffer (b[2])->sw_if_index,
+                       vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
+      clib_memcpy_fast (vnet_buffer (b[3])->sw_if_index,
+                       vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
 
       VLIB_BUFFER_TRACE_TRAJECTORY_INIT (b[0]);
       VLIB_BUFFER_TRACE_TRAJECTORY_INIT (b[1]);
@@ -295,8 +295,8 @@ avf_process_rx_burst (vlib_main_t * vm, vlib_node_runtime_t * node,
            vnet_buffer (bt)->feature_arc_index;
        }
 
-      clib_memcpy (vnet_buffer (b[0])->sw_if_index,
-                  vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
+      clib_memcpy_fast (vnet_buffer (b[0])->sw_if_index,
+                       vnet_buffer (bt)->sw_if_index, 2 * sizeof (u32));
 
       VLIB_BUFFER_TRACE_TRAJECTORY_INIT (b[0]);
 
@@ -392,7 +392,7 @@ avf_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
       u64x4_store_unaligned (v, ptd->rx_vector + n_rxv);
       maybe_error |= !u64x4_is_all_zero (err4);
 
-      clib_memcpy (bi, rxq->bufs + rxq->next, 4 * sizeof (u32));
+      clib_memcpy_fast (bi, rxq->bufs + rxq->next, 4 * sizeof (u32));
 
       /* next */
       rxq->next = (rxq->next + 4) & mask;
@@ -433,10 +433,10 @@ avf_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
     goto done;
 
   /* refill rx ring */
-  if (ad->flags & AVF_DEVICE_F_IOVA)
-    avf_rxq_refill (vm, node, rxq, 1 /* use_iova */ );
+  if (ad->flags & AVF_DEVICE_F_VA_DMA)
+    avf_rxq_refill (vm, node, rxq, 1 /* use_va_dma */ );
   else
-    avf_rxq_refill (vm, node, rxq, 0 /* use_iova */ );
+    avf_rxq_refill (vm, node, rxq, 0 /* use_va_dma */ );
 
   vlib_get_buffers (vm, buffer_indices, bufs, n_rxv);
   n_rx_packets = n_rxv;
@@ -486,7 +486,7 @@ avf_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
          tr = vlib_add_trace (vm, node, b, sizeof (*tr));
          tr->next_index = next[0];
          tr->hw_if_index = ad->hw_if_index;
-         clib_memcpy (&tr->rxve, rxve, sizeof (avf_rx_vector_entry_t));
+         clib_memcpy_fast (&tr->rxve, rxve, sizeof (avf_rx_vector_entry_t));
 
          /* next */
          n_trace--;