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 AD1575A1B for ; Fri, 2 Jan 2015 20:55:05 +0100 (CET) Received: from [2001:470:8:a08:215:ff:fecc:4872] (helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Y78JG-0004BR-ID; Fri, 02 Jan 2015 14:55:04 -0500 Date: Fri, 2 Jan 2015 14:54:55 -0500 From: Neil Horman To: Lyn M Message-ID: <20150102195455.GA18754@localhost.localdomain> References: <20141229210210.GA31480@localhost.localdomain> <20141230212406.GB2187@localhost.localdomain> <20141231144859.GA6637@localhost.localdomain> <20150101033744.GA8149@localhost.localdomain> <20150101040032.GA11645@hmsreliant.think-freely.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] l3fwd error, port 0 is not present on the board 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: Fri, 02 Jan 2015 19:55:06 -0000 On Fri, Jan 02, 2015 at 09:07:40AM -0600, Lyn M wrote: > Neil, your patch works. I am now able to run testpmd, as well as l3fwd > with DPDK 1.8.0 and CONFIG_RTE_BUILD_COMBINE_LIBS=y. Thank you much! > I'll post it for official review shortly. > In my original post, I thought my choice of hex portmask -p 0x3 was causing > this issue -- now I know that was not the case. But, I am still curious > about how the hex portmask is determined. Since I only have two ports > bound to igb_uio, my hex postmask will always be 0x3? What if I choose to > bind other ports to igb_uio? Is there a Linux command I can run to > determine what mask to use with the -p option? > portmask IIRC is determined by the cpus you decide you want to service various hardware queues. you can select whatever cpus you want, so in a sense, the portmask is entirely your decision. If you want it to be optimal, you should select a portmask where the cpus servicing your hardware are on the same numa node as the NIC itself. You should be able to determine the cpu numa node locality via /sys/class/net//device/local_cpus Neil > Happy New Year -- > Lyn > > On Wed, Dec 31, 2014 at 10:00 PM, Neil Horman wrote: > > > On Wed, Dec 31, 2014 at 10:37:45PM -0500, Neil Horman wrote: > > > On Wed, Dec 31, 2014 at 10:50:10AM -0600, Lyn M wrote: > > > > Neil, > > > > When I build DPDK 1.8.0 with the default value > > CONFIG_RTE_BUILD_COMBINE_LIBS=n, > > > > I am able to run the testpmd successfully. So, that does appear to be > > the > > > > culprit. > > > > The objdump -t output for testpmd (with COMBINE_LIBS=n and > > COMBINE_LIBS=y) > > > > files are here: > > > > > > https://www.dropbox.com/sh/6os9yfn22jjcnmy/AAAjEV3u06XQ1t3UXdWcgru0a?dl=0 > > > > > > > > Thanks, > > > > Lyn > > > > > > > I see the problem. none of the constructors are included in the l3fwd > > app. I > > > think you might need 174572477028b7f04700389e38f87d2ba01a0adc. Its also > > > possible something else has gone wrong withthe COMBINE_LIBS option. Try > > > building with the head of the tree, and if that doesn't fix it, we can > > start > > > debugging in earnest. > > > Neil > > > > Found the problem. Please try this patch > > > > > > diff --git a/mk/rte.app.mk b/mk/rte.app.mk > > index e1a0dbf..40afb2c 100644 > > --- a/mk/rte.app.mk > > +++ b/mk/rte.app.mk > > @@ -61,6 +61,10 @@ ifeq ($(NO_AUTOLIBS),) > > > > LDLIBS += --whole-archive > > > > +ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y) > > +LDLIBS += -l$(RTE_LIBNAME) > > +endif > > + > > ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n) > > > > ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y) > > @@ -251,10 +255,6 @@ build: _postbuild > > > > exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1)))) > > > > -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y) > > -LDLIBS += -l$(RTE_LIBNAME) > > -endif > > - > > ifeq ($(LINK_USING_CC),1) > > override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS)) > > O_TO_EXE = $(CC) $(CFLAGS) $(LDFLAGS_$(@)) \ > >