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 A554E3B5 for ; Sun, 1 Mar 2015 01:46:40 +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 1YRs1i-0004v8-1h; Sat, 28 Feb 2015 19:46:39 -0500 Date: Sat, 28 Feb 2015 19:46:28 -0500 From: Neil Horman To: "JP M." Message-ID: <20150301004627.GA29693@neilslaptop.think-freely.org> References: 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] KNI with multiple kthreads per port 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: Sun, 01 Mar 2015 00:46:41 -0000 On Sat, Feb 28, 2015 at 02:39:40PM -0800, JP M. wrote: > Howdy! First time posting; please be gentle. :-) > > Environment: > * DPDK 1.8.0 release > * Linux kernel 3.0.3x-ish > * 32-bit (yes, KNI works fine, after a few tweaks hugepage init strategy) > > I'm trying to use the KNI example app with a configuration where multiple > kthreads are created for a physical port. Per the user guide and code, the > first such kthread is the "master", any the only one configurable; I'll > refer to the additional kthread(s) as "slaves", although their relationship > to the master kthread isn't discussed anywhere that I've looked thus far. > > # insmod rte_kni.ko kthread_mode=multiple > # kni [....] --config="(0,0,1,2,3)" > # ifconfig vEth0_0 10.0.0.1 netmask 255.255.255.0 > > From the above: PMD-bound physical port0. Rx/Tx on cores 0 and 1, > respectively. Master thread on core 2, one slave kthread on core 3. Upon > startup, KNI devices vEth0_0 (master) and vEth0_1 (slave) are created. > After ifconfig, vEth0_0 works fine; by design, vEth0_1 cannot be configured. > > The problem I'm encountering is that the subset of packets hitting vEth0_1 > are being dropped... somewhere. They're definitely getting as far as the > call to netif_rx(skb). I'll try on a newer system for comparison. But > before I go too much further, I'd like to establish the correct set-up and > expectations. > > Should I be bonding vEth0_0 and vEth0_1? Because I tried doing so (via > sysfs); however, attempts to add either as slaves to bond0 were ignored. > > Any ideas appreciated. (Though it may end up being a moot point, with the > other work this past week on KNI performance.) > Start by using dropwatch. If you know that you're getting as far as netif_rx, then you know you're getting into the kernel networking stack. Dropwatch will tell you exactly where you're loosing frames, and you can work backwards from there to figure out the why behind the event. Neil