From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 042A2595B for ; Wed, 12 Nov 2014 17:06:28 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 12 Nov 2014 08:16:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.07,369,1413270000"; d="scan'208";a="630878476" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.220.93]) by fmsmga002.fm.intel.com with SMTP; 12 Nov 2014 08:16:14 -0800 Received: by (sSMTP sendmail emulation); Wed, 12 Nov 2014 16:16:13 +0025 Date: Wed, 12 Nov 2014 16:16:12 +0000 From: Bruce Richardson To: Neil Horman Message-ID: <20141112161612.GC7952@bricha3-MOBL3> References: <1A791056FCD70F458405B58B79F5C2F7069C605F@RAD-W2KSRV11.radcom.co.il> <20141112152349.GA7554@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141112152349.GA7554@localhost.localdomain> Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "" Subject: Re: [dpdk-dev] compile dpdk with no avx 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, 12 Nov 2014 16:06:29 -0000 On Wed, Nov 12, 2014 at 10:23:49AM -0500, Neil Horman wrote: > On Wed, Nov 12, 2014 at 02:24:10PM +0000, De Lara Guarch, Pablo wrote: > > > > > > > -----Original Message----- > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Masaru Oki > > > Sent: Wednesday, November 12, 2014 1:48 PM > > > To: Yaron Illouz > > > Cc: > > > Subject: Re: [dpdk-dev] compile dpdk with no avx > > > > > > Hi, > > > > > > Some libraries need AVX instruction, but if you don't use, it can disable. > > > e.g. CONFIG_RTE_LIBRTE_IXGBE_PMD=n in config file. > > > > > > > > > 2014-11-12 21:45 GMT+09:00 Yaron Illouz : > > > > Hi > > > > > > > > > > > > > > > > I use dpdk in my product. I can't change my dpdk version. > > > > > > > > I compile it on a server that have avx. > > > > > > > > Most of the time, it run on machine that have avx, but not always. > > > > > > > > > > > > > > > > When running the product on a machine with no avx, it crash on illegal > > > > instruction. > > > > > > > > The current solution is to build it on a computer with no avx. > > > > > > > > > > > > > > > > Is there a compilation flag to disable avx? So it doesn't matter on > > > > which computer I compiled it. > > > > Basically, you are looking at cross-compiling DPDK. One thing you could do > > is go to one of the config files (i.e. defconfig_x86-64-native-linuxapp-gcc) > > and change CONFIG_RTE_MACHINE, from "native" to one of the > > micro-architectures that do not have avx, such as "wsm" (Westmere). > > > What version of dpdk are you running? We fixed this a while ago with > commits 8777aabc538fdac24457958eaab929f33d6c4cdf and > 074f54ad03ee0c84dcae235933e2b426208fe591. They do runtime checking for > availability of the AVX and SSE3 instructions and only exeucte paths using those > instructions if the running cpu supports them. Note that you are still required > to build for the default arch. > Neil > Hi Neil, those commits only fix the cases where we compile the code generically, and have specific runtime code paths. However, when compiling for a native target the compiler will freely use AVX instructions when it feels it will lead to faster code. There is no run-time checking we can do to avoid this, hence the need for changing the build-time configuration. /Bruce > > Regards, > > Pablo > > > > > > > > > > > > > > > > > > Compile flag > > > > > > > > defconfig_x86_64-default-linuxapp-gcc > > > > > > > > > > > > > > > > Dpdk version > > > > > > > > PACKAGE_VERSION_MAJOR_NUMBER=1 > > > > > > > > PACKAGE_VERSION_MINOR_NUMBER=6 > > > > > > > > PACKAGE_VERSION_PATCH_NUMBER=0 > > > > > > > > PACKAGE_VERSION_BUILD_NUMBER=18 > > > > > > > > > > > > > > > > Gcc version > > > > > > > > gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4) > > > > > > > > > > > > > > > > OS > > > > > > > > CentOS release 6.3 (Final) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >