From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 9D87E7CCD for ; Fri, 1 Sep 2017 10:57:58 +0200 (CEST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Sep 2017 01:57:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,457,1498546800"; d="scan'208";a="124641517" Received: from dpdk-lixiaoyun.sh.intel.com ([10.67.110.162]) by orsmga004.jf.intel.com with ESMTP; 01 Sep 2017 01:57:55 -0700 From: Xiaoyun Li To: bruce.richardson@intel.com Cc: dev@dpdk.org, zhihong.wang@intel.com, qi.z.zhang@intel.com, wenzhuo.lu@intel.com, Xiaoyun Li Date: Fri, 1 Sep 2017 16:56:59 +0800 Message-Id: <1504256222-32969-1-git-send-email-xiaoyun.li@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1503626773-184682-1-git-send-email-xiaoyun.li@intel.com> References: <1503626773-184682-1-git-send-email-xiaoyun.li@intel.com> Subject: [dpdk-dev] [PATCH v2 0/3] dynamic linking support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Sep 2017 08:57:59 -0000 This patchset dynamically selects functions at run-time based on CPU flags that current machine supports. This patchset modifies mempcy, memcpy perf test and x86 EFD, using function pointers and bind them at constructor time. Then in the cloud environment, users can compiler once for the minimum target such as 'haswell'(not 'native') and run on different platforms (equal or above haswell) and can get ISA optimization based on running CPU. Xiaoyun Li (3): eal/x86: run-time dispatch over memcpy app/test: run-time dispatch over memcpy perf test efd: run-time dispatch over x86 EFD functions .../common/include/arch/x86/rte_memcpy.h | 343 +++++++++++++-------- lib/librte_efd/rte_efd_x86.h | 41 ++- mk/rte.cpuflags.mk | 14 + test/test/test_memcpy_perf.c | 40 ++- 4 files changed, 296 insertions(+), 142 deletions(-) -- 2.7.4