vlib: remove old memcpy implementation 42/3942/4
authorDamjan Marion <damarion@cisco.com>
Thu, 24 Nov 2016 00:28:45 +0000 (01:28 +0100)
committerOle Trøan <otroan@employees.org>
Thu, 24 Nov 2016 11:05:42 +0000 (11:05 +0000)
Change-Id: I21f5abb00cf12da5c144da477badc38736be7a7d
Signed-off-by: Damjan Marion <damarion@cisco.com>
vlib/vlib/buffer.c

index 9516514..4bf6d12 100644 (file)
@@ -359,69 +359,7 @@ vlib_buffer_validate_alloc_free (vlib_main_t * vm,
         is_free ? VLIB_BUFFER_KNOWN_FREE : VLIB_BUFFER_KNOWN_ALLOCATED);
     }
 }
-
 #endif
-/* Aligned copy routine. */
-void
-vlib_aligned_memcpy (void *_dst, void *_src, int n_bytes)
-{
-  vlib_copy_unit_t *dst = _dst;
-  vlib_copy_unit_t *src = _src;
-
-  /* Arguments must be naturally aligned. */
-  ASSERT (pointer_to_uword (dst) % sizeof (dst[0]) == 0);
-  ASSERT (pointer_to_uword (src) % sizeof (src[0]) == 0);
-  ASSERT (n_bytes % sizeof (dst[0]) == 0);
-
-  if (4 * sizeof (dst[0]) == CLIB_CACHE_LINE_BYTES)
-    {
-      CLIB_PREFETCH (dst + 0, 4 * sizeof (dst[0]), WRITE);
-      CLIB_PREFETCH (src + 0, 4 * sizeof (src[0]), READ);
-
-      while (n_bytes >= 4 * sizeof (dst[0]))
-       {
-         dst += 4;
-         src += 4;
-         n_bytes -= 4 * sizeof (dst[0]);
-         CLIB_PREFETCH (dst, 4 * sizeof (dst[0]), WRITE);
-         CLIB_PREFETCH (src, 4 * sizeof (src[0]), READ);
-         dst[-4] = src[-4];
-         dst[-3] = src[-3];
-         dst[-2] = src[-2];
-         dst[-1] = src[-1];
-       }
-    }
-  else if (8 * sizeof (dst[0]) == CLIB_CACHE_LINE_BYTES)
-    {
-      CLIB_PREFETCH (dst + 0, 8 * sizeof (dst[0]), WRITE);
-      CLIB_PREFETCH (src + 0, 8 * sizeof (src[0]), READ);
-
-      while (n_bytes >= 8 * sizeof (dst[0]))
-       {
-         dst += 8;
-         src += 8;
-         n_bytes -= 8 * sizeof (dst[0]);
-         CLIB_PREFETCH (dst, 8 * sizeof (dst[0]), WRITE);
-         CLIB_PREFETCH (src, 8 * sizeof (src[0]), READ);
-         dst[-8] = src[-8];
-         dst[-7] = src[-7];
-         dst[-6] = src[-6];
-         dst[-5] = src[-5];
-         dst[-4] = src[-4];
-         dst[-3] = src[-3];
-         dst[-2] = src[-2];
-         dst[-1] = src[-1];
-       }
-    }
-  else
-    /* Cache line size unknown: fall back to slow version. */ ;
-
-  while (n_bytes > 0)
-    {
-      *dst++ = *src++;
-      n_bytes -= 1 * sizeof (dst[0]);
-    }
-}
 
 #define BUFFERS_PER_COPY (sizeof (vlib_copy_unit_t) / sizeof (u32))
 
@@ -495,7 +433,7 @@ merge_free_lists (vlib_buffer_free_list_t * dst,
     {
       vec_add2_aligned (dst->aligned_buffers, d, l,
                        /* align */ sizeof (vlib_copy_unit_t));
-      vlib_aligned_memcpy (d, src->aligned_buffers, l * sizeof (d[0]));
+      clib_memcpy (d, src->aligned_buffers, l * sizeof (d[0]));
       vec_free (src->aligned_buffers);
     }