l2: change prefetch to prefetchw 68/34568/2
authorRay Kinsella <mdr@ashroe.eu>
Mon, 22 Nov 2021 12:50:34 +0000 (12:50 +0000)
committerRay Kinsella <mdr@ashroe.eu>
Thu, 25 Nov 2021 09:08:50 +0000 (09:08 +0000)
L2 prefetches the vlib_buffer_t and then immediately writes to l2 split
horizon group. Changing to the prefetch to a prefetchw.

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: If3b7996978ee80f99c55904692c7b3c905f537ce

src/vnet/l2/l2_input_node.c

index 74625b2..f8dfa36 100644 (file)
@@ -252,10 +252,10 @@ l2input_node_inline (vlib_main_t * vm,
          /* Prefetch next iteration. */
          {
            /* Prefetch the buffer header and packet for the N+2 loop iteration */
-           vlib_prefetch_buffer_header (b[4], LOAD);
-           vlib_prefetch_buffer_header (b[5], LOAD);
-           vlib_prefetch_buffer_header (b[6], LOAD);
-           vlib_prefetch_buffer_header (b[7], LOAD);
+           clib_prefetch_store (b + 4);
+           clib_prefetch_store (b + 5);
+           clib_prefetch_store (b + 6);
+           clib_prefetch_store (b + 7);
 
            clib_prefetch_store (b[4]->data);
            clib_prefetch_store (b[5]->data);