From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] fm10k: conditionally disable RSS during device initialization Date: Thu, 31 Mar 2016 15:57:07 +0200 Message-ID: <1734643.Kgakri6QQ3@xps13> References: <1458665888-4577-1-git-send-email-michael.frasca@oracle.com> <4341B239C0EFF9468EE453F9E9F4604D04465361@shsmsx102.ccr.corp.intel.com> <06A5CC0C-D767-48CD-B82D-C4C81AD282AE@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: Michael Frasca , "Chen, Jing D" To: dev@dpdk.org Return-path: Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) by dpdk.org (Postfix) with ESMTP id A98628E65 for ; Thu, 31 Mar 2016 15:59:00 +0200 (CEST) Received: by mail-wm0-f43.google.com with SMTP id p65so115938838wmp.0 for ; Thu, 31 Mar 2016 06:59:00 -0700 (PDT) In-Reply-To: <06A5CC0C-D767-48CD-B82D-C4C81AD282AE@oracle.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Please, anyone to confirm that the patch is valid and must be applied? This discussion shows some doubts. 2016-03-24 13:35, Michael Frasca: > Jing, > > Thanks for your assistance. The experiment that you have built should allow you > to observe the bug. In [5], I would expect that queue 0 receives roughly 1/4 of > the packets that you sending, assuming the input packets have varied IP > addresses. Can you measure what % of packets are actually being received in this > single queue setup (after first running a 4-queue setup)? > > When trying to running with only one RX queue, the fm10k retains the same RSS > hash function and redirection table that was configured from a previous run. As > a result, some packets are still being directed to other receive queues. I have > confirmed this by polling the queue specific stats, which I retrieved via > rte_eth_xstats_get(). > > Looking at fm10k_dev_rss_configure(), one should see that there is no > modification of fm10k registers when nb_rx_queues == 1. As far as I can tell, > this is the reason that only a certain partition of packets are being receive in > a single queue setup (after first running a multi-queue configuration). > > I am unable to access my development environment today, but if you need, I can > later craft a patch to l3fwd that shows the measurement of packets received at > each queue. > > Thanks, > Mike > > > > On Mar 24, 2016, at 2:40 AM, Chen, Jing D wrote: > > > > Hi, Frasca, > > > > > > > >> -----Original Message----- > >> From: Michael Frasca [mailto:michael.frasca@oracle.com ] > >> Sent: Wednesday, March 23, 2016 9:43 PM > >> To: Chen, Jing D > >> Cc: dev@dpdk.org > >> Subject: Re: [PATCH] fm10k: conditionally disable RSS during device > >> initialization > >> > >> Hi Jing, > >> > >> I ran into this issue while trying to run experiments with different RSS > >> configurations (no RSS being one cases). It is not clear to me that setting this > >> register to zero is the best way to disable RSS. > >> > >> After digging further, I have a theory that I'm having this issues because I've > >> only attached my DPDK application to SR-IOV ports. In > >> fm10k_dev_dglort_map_configure(), I see that 'RSS Length' is set for the > >> DGLORT > >> decoder. However, it appears that this is only invoked for physical functions. > >> > >> Could this be my problem? Is it required that I bind to the physical function > >> if I want to properly manipulate RSS? > >> > >> Thanks, > >> Mike > >> > > I don't know exactly what problem you ran into. I think we needn't worry about > > those DGLORT setting when using VF device. > > > > I've followed steps to use SRIOV device with RSS enabled and disabled, both > > are worked well from my side after applying your patch. Below is my setup. > > > > 1. PF with Linux driver "fm10k-next_0.19.3". > > 2. DPDK with latest code from master branch, apply your patch. > > 3. Use 1 VF device created by kernel driver. > > 4. use l3fwd with " ./examples/l3fwd/build/l3fwd -c fc -n 4 -- -p 0x1 --config="(0,0,2),(0,1,2),(0,2,3),(0,3,3)"" > > with RSS enabled. After sending packets, I can see all 4 queues received packets. > > 5. use l3fwd with " ./examples/l3fwd/build/l3fwd -c fc -n 4 -- -p 0x1 --config="(0,0,2)"" > > with RSS disabled. After sending packets, I can see queue 0 received packets. > > > > Can you explain what actual problem is? > > We can talk offline. >