From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f43.google.com (mail-pa0-f43.google.com [209.85.220.43]) by dpdk.org (Postfix) with ESMTP id E58008D9B for ; Wed, 14 Oct 2015 02:31:54 +0200 (CEST) Received: by pabrc13 with SMTP id rc13so36147723pab.0 for ; Tue, 13 Oct 2015 17:31:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=kuhOomRQBTg612GfNjZbYfKHb3QPcg0CMtzxc5frTpM=; b=cxmA/z5AgS75yOZCHkRYNOWKsELgCpib7OD//l9sX5hmwiZc5fKe+czLgLvDSObnQE HtRznElSaVmPFgRRhs1cNFmPWbJ0NUl9BfCZh805tcQ7BRvRwLWi9buOPo7h5DH+3jCb it+gxuxQSDE+pwaihL1t09EiLzV7nyQTjqS2JbJqxkEHj+W7SBFLKrzN9CQkaKxxwopy G3SxTA3Eke7kmymfRRGM0DF1QRT0Uii+WYm+WpDTKUbsiesj2w6EChhsDAyp017DFDfu 17+mn6Lg2vHqL+zDfNLofTk0xq0U+jve6/JS4x7agD6pQNOaXeRRtrMUYIoAQ0auOwIV BPyQ== X-Gm-Message-State: ALoCoQnzhsLrLCW3WH9FqUfxsAsStCf52XP9ANUpCttu6Yz81rKR1QVqCP1Lf6w+rI22hdZTfc+m X-Received: by 10.68.68.197 with SMTP id y5mr364288pbt.88.1444782714212; Tue, 13 Oct 2015 17:31:54 -0700 (PDT) Received: from xeon-e3 (static-50-53-82-155.bvtn.or.frontiernet.net. [50.53.82.155]) by smtp.gmail.com with ESMTPSA id ir4sm5975667pbb.93.2015.10.13.17.31.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Oct 2015 17:31:53 -0700 (PDT) Date: Tue, 13 Oct 2015 17:32:05 -0700 From: Stephen Hemminger To: Ravi Kerur Message-ID: <20151013173205.38159cd6@xeon-e3> In-Reply-To: <1431979303-1346-2-git-send-email-rkerur@gmail.com> References: <1431979303-1346-1-git-send-email-rkerur@gmail.com> <1431979303-1346-2-git-send-email-rkerur@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v3] Implement memcmp using Intel SIMD instrinsics. 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: Wed, 14 Oct 2015 00:31:55 -0000 On Mon, 18 May 2015 13:01:43 -0700 Ravi Kerur wrote: > This patch implements memcmp and use librte_hash as the first candidate > to use rte_memcmp which is implemented using AVX/SSE intrinsics. > > Tested with GCC(4.8.2) and Clang(3.4-1) compilers and both tests show better > performance on Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, Ubuntu 14.04 > x86_64 shows when compared to memcmp. > > Changes in v3: > Implement complete memcmp functionality. > Implement functional and performance tests and add it to > "make test" infrastructure code. > > Changes in v2: > Modified code to support only upto 64 bytes as that's the max bytes > used by hash for comparison. > > Changes in v1: > Initial changes to support memcmp with support upto 128 bytes. > > Signed-off-by: Ravi Kerur I think this idea is best taken over to glibc not here. The issue is that Gcc default version of memcmp inline is bad and that is what needs to be fixed. See later discussion in email thread with Gcc intrinsic developer.