From 178cf493d009995b28fdf220f04c98860ff79a9b Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Tue, 13 Nov 2018 16:34:13 -0500 Subject: Remove c-11 memcpy checks from perf-critical code Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1 Signed-off-by: Dave Barach --- src/plugins/avf/device.c | 18 +++++++++--------- src/plugins/avf/input.c | 24 ++++++++++++------------ 2 files changed, 21 insertions(+), 21 deletions(-) (limited to 'src/plugins/avf') diff --git a/src/plugins/avf/device.c b/src/plugins/avf/device.c index 6bf1fe05f05..d95de2ec892 100644 --- a/src/plugins/avf/device.c +++ b/src/plugins/avf/device.c @@ -106,7 +106,7 @@ avf_aq_desc_enq (vlib_main_t * vm, avf_device_t * ad, avf_aq_desc_t * dt, int n_retry = 5; d = &ad->atq[ad->atq_next_slot]; - clib_memcpy (d, dt, sizeof (avf_aq_desc_t)); + clib_memcpy_fast (d, dt, sizeof (avf_aq_desc_t)); d->flags |= AVF_AQ_F_RD | AVF_AQ_F_SI; if (len) d->datalen = len; @@ -116,13 +116,13 @@ avf_aq_desc_enq (vlib_main_t * vm, avf_device_t * ad, avf_aq_desc_t * dt, pa = ad->atq_bufs_pa + ad->atq_next_slot * AVF_MBOX_BUF_SZ; d->addr_hi = (u32) (pa >> 32); d->addr_lo = (u32) pa; - clib_memcpy (ad->atq_bufs + ad->atq_next_slot * AVF_MBOX_BUF_SZ, data, - len); + clib_memcpy_fast (ad->atq_bufs + ad->atq_next_slot * AVF_MBOX_BUF_SZ, + data, len); d->flags |= AVF_AQ_F_BUF; } if (ad->flags & AVF_DEVICE_F_ELOG) - clib_memcpy (&dc, d, sizeof (avf_aq_desc_t)); + clib_memcpy_fast (&dc, d, sizeof (avf_aq_desc_t)); CLIB_MEMORY_BARRIER (); vlib_log_debug (am->log_class, "%U", format_hexdump, data, len); @@ -144,7 +144,7 @@ retry: goto retry; } - clib_memcpy (dt, d, sizeof (avf_aq_desc_t)); + clib_memcpy_fast (dt, d, sizeof (avf_aq_desc_t)); if (d->flags & AVF_AQ_F_ERR) return clib_error_return (0, "adminq enqueue error [opcode 0x%x, retval " "%d]", d->opcode, d->retval); @@ -398,7 +398,7 @@ retry: return clib_error_return (0, "event message error"); vec_add2 (ad->events, e, 1); - clib_memcpy (e, buf, sizeof (virtchnl_pf_event_t)); + clib_memcpy_fast (e, buf, sizeof (virtchnl_pf_event_t)); avf_arq_slot_init (ad, ad->arq_next_slot); ad->arq_next_slot++; n_retry = 5; @@ -425,7 +425,7 @@ retry: if (d->flags & AVF_AQ_F_BUF) { void *buf = ad->arq_bufs + ad->arq_next_slot * AVF_MBOX_BUF_SZ; - clib_memcpy (out, buf, out_len); + clib_memcpy_fast (out, buf, out_len); } avf_arq_slot_init (ad, ad->arq_next_slot); @@ -637,7 +637,7 @@ avf_op_add_eth_addr (vlib_main_t * vm, avf_device_t * ad, u8 count, u8 * macs) al->vsi_id = ad->vsi_id; al->num_elements = count; for (i = 0; i < count; i++) - clib_memcpy (&al->list[i].addr, macs + i * 6, 6); + clib_memcpy_fast (&al->list[i].addr, macs + i * 6, 6); return avf_send_to_pf (vm, ad, VIRTCHNL_OP_ADD_ETH_ADDR, msg, msg_len, 0, 0); } @@ -788,7 +788,7 @@ avf_device_init (vlib_main_t * vm, avf_main_t * am, avf_device_t * ad, ad->rss_key_size = res.rss_key_size; ad->rss_lut_size = res.rss_lut_size; - clib_memcpy (ad->hwaddr, res.vsi_res[0].default_mac_addr, 6); + clib_memcpy_fast (ad->hwaddr, res.vsi_res[0].default_mac_addr, 6); /* * Disable VLAN stripping diff --git a/src/plugins/avf/input.c b/src/plugins/avf/input.c index 6d39ed646b5..509b4970dad 100644 --- a/src/plugins/avf/input.c +++ b/src/plugins/avf/input.c @@ -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; @@ -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--; -- cgit 1.2.3-korg