From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f177.google.com (mail-pd0-f177.google.com [209.85.192.177]) by dpdk.org (Postfix) with ESMTP id CB08AB38D for ; Mon, 18 May 2015 22:01:47 +0200 (CEST) Received: by pdbnk13 with SMTP id nk13so67032611pdb.1 for ; Mon, 18 May 2015 13:01:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=rGS5asmGgeUkXZW84GJJLgEddY6tyujNlBhFwVcLNTE=; b=GRhd1WMWMT1cc7Rusju42MToGvLOIEwAm0NiWmE7IePqwaZ88DmQzEWiOb2v4mvTyE TMgJnwifXR3rwv8qHGu0wEfxnTrR61vkBRLpdSJDdDLkrN+Zl703iWZ4qnWm+E2Mohw2 zkuWIIJ/ZtD24bDRF9EpUYb2L5tI356IOP0ZCWFaLVLB0dquHA96Ya12IVwfdYeoR0UO MXWZiBsLml6ZY5tyeJjQUMbgdLbv76Q2x61LvQ4pm3QxD0zszm+LVQ/oniSFhwbtIIXK J9mIkF5RaBFG3hgJ/rc37Phf+zrD4vvNVzGASOczb4uwYWwscDuUVQiXjxGQ0vNrMUBW l3Gw== X-Received: by 10.68.215.97 with SMTP id oh1mr46988522pbc.88.1431979307031; Mon, 18 May 2015 13:01:47 -0700 (PDT) Received: from user-PC.hsd1.ca.comcast.net (c-98-234-176-9.hsd1.ca.comcast.net. [98.234.176.9]) by mx.google.com with ESMTPSA id pa1sm10861995pdb.73.2015.05.18.13.01.46 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 18 May 2015 13:01:46 -0700 (PDT) From: Ravi Kerur To: dev@dpdk.org Date: Mon, 18 May 2015 13:01:42 -0700 Message-Id: <1431979303-1346-1-git-send-email-rkerur@gmail.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [PATCH v3] Implement memcmp using SIMD intrinsics X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 May 2015 20:01:48 -0000 Background: After preliminary discussion with John (Zhihong) and Tim from Intel it was decided that it would be beneficial to use AVX/SSE intrinsics for memcmp similar to memcpy that had been implemeneted. In addition, we decided to use librte_hash as a test candidate to test both functionality and performance. Further discussions lead to complete functionality implementation of memory comparison and v3 code reflects that. Test was conducted on Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, Ubuntu 14.04, x86_64, 16GB DDR3 system. Ravi Kerur (1): Implement memcmp using Intel SIMD instrinsics. app/test/Makefile | 5 +- app/test/autotest_data.py | 19 + app/test/test_hash_perf.c | 36 +- app/test/test_memcmp.c | 229 ++++++ app/test/test_memcmp_perf.c | 339 ++++++++ .../common/include/arch/ppc_64/rte_memcmp.h | 62 ++ .../common/include/arch/x86/rte_memcmp.h | 900 +++++++++++++++++++++ lib/librte_eal/common/include/generic/rte_memcmp.h | 175 ++++ lib/librte_hash/rte_hash.c | 59 +- 9 files changed, 1789 insertions(+), 35 deletions(-) create mode 100644 app/test/test_memcmp.c create mode 100644 app/test/test_memcmp_perf.c create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_memcmp.h create mode 100644 lib/librte_eal/common/include/arch/x86/rte_memcmp.h create mode 100644 lib/librte_eal/common/include/generic/rte_memcmp.h -- 1.9.1