To use pointer instead of memcpy can save many cycles in the funciton
virtio_send_command.

cc: maxime.coque...@redhat.com
cc: y...@fridaylinux.org

Signed-off-by: Zhiyong Yang <zhiyong.y...@intel.com>
---
 drivers/net/virtio/virtio_ethdev.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c 
b/drivers/net/virtio/virtio_ethdev.c
index e320811ed..dff3c4de4 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -162,7 +162,7 @@ virtio_send_command(struct virtnet_ctl *cvq, struct 
virtio_pmd_ctrl *ctrl,
        uint32_t head, i;
        int k, sum = 0;
        virtio_net_ctrl_ack status = ~0;
-       struct virtio_pmd_ctrl result;
+       struct virtio_pmd_ctrl *result;
        struct virtqueue *vq;
 
        ctrl->status = status;
@@ -253,10 +253,9 @@ virtio_send_command(struct virtnet_ctl *cvq, struct 
virtio_pmd_ctrl *ctrl,
        PMD_INIT_LOG(DEBUG, "vq->vq_free_cnt=%d\nvq->vq_desc_head_idx=%d",
                        vq->vq_free_cnt, vq->vq_desc_head_idx);
 
-       memcpy(&result, cvq->virtio_net_hdr_mz->addr,
-                       sizeof(struct virtio_pmd_ctrl));
+       result = cvq->virtio_net_hdr_mz->addr;
 
-       return result.status;
+       return result->status;
 }
 
 static int
-- 
2.13.3

Reply via email to