From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 43E017E75 for ; Wed, 12 Nov 2014 20:20:37 +0100 (CET) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1XodcX-0006AY-GZ; Wed, 12 Nov 2014 14:30:30 -0500 Date: Wed, 12 Nov 2014 14:30:24 -0500 From: Neil Horman To: Bruce Richardson Message-ID: <20141112193024.GA17199@hmsreliant.think-freely.org> References: <1A791056FCD70F458405B58B79F5C2F7069C605F@RAD-W2KSRV11.radcom.co.il> <20141112152349.GA7554@localhost.localdomain> <20141112161612.GC7952@bricha3-MOBL3> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141112161612.GC7952@bricha3-MOBL3> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No 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 19:20:37 -0000 On Wed, Nov 12, 2014 at 04:16:12PM +0000, Bruce Richardson wrote: > 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. > Yes, please see the last sentence in my post. Neil > /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) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >