From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <michael.frasca@oracle.com>
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81])
 by dpdk.org (Postfix) with ESMTP id 685672BFD
 for <dev@dpdk.org>; Thu, 24 Mar 2016 18:35:44 +0100 (CET)
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74])
 by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id
 u2OHZhpr023409
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 24 Mar 2016 17:35:43 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236])
 by userv0022.oracle.com (8.14.4/8.13.8) with ESMTP id u2OHZgpT011384
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
 Thu, 24 Mar 2016 17:35:43 GMT
Received: from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21])
 by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id u2OHZem8016506;
 Thu, 24 Mar 2016 17:35:41 GMT
Received: from [10.197.178.155] (/10.197.178.155)
 by default (Oracle Beehive Gateway v4.0)
 with ESMTP ; Thu, 24 Mar 2016 10:35:39 -0700
Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\))
From: Michael Frasca <michael.frasca@oracle.com>
In-Reply-To: <4341B239C0EFF9468EE453F9E9F4604D04465361@shsmsx102.ccr.corp.intel.com>
Date: Thu, 24 Mar 2016 13:35:38 -0400
Cc: "dev@dpdk.org" <dev@dpdk.org>
Message-Id: <06A5CC0C-D767-48CD-B82D-C4C81AD282AE@oracle.com>
References: <1458665888-4577-1-git-send-email-michael.frasca@oracle.com>
 <4341B239C0EFF9468EE453F9E9F4604D04464381@shsmsx102.ccr.corp.intel.com>
 <8634D5E0-C1B2-4194-B9A4-E0BDC982B36B@oracle.com>
 <4341B239C0EFF9468EE453F9E9F4604D04465361@shsmsx102.ccr.corp.intel.com>
To: "Chen, Jing D" <jing.d.chen@intel.com>
X-Mailer: Apple Mail (2.3112)
X-Source-IP: userv0022.oracle.com [156.151.31.74]
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Subject: Re: [dpdk-dev] [PATCH] fm10k: conditionally disable RSS during
	device initialization
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Mar 2016 17:35:45 -0000

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 =3D=3D 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 <jing.d.chen@intel.com> =
wrote:
>=20
> Hi, Frasca,
>=20
>=20
>=20
>> -----Original Message-----
>> From: Michael Frasca [mailto:michael.frasca@oracle.com =
<mailto:michael.frasca@oracle.com>]
>> Sent: Wednesday, March 23, 2016 9:43 PM
>> To: Chen, Jing D
>> Cc: dev@dpdk.org <mailto:dev@dpdk.org>
>> Subject: Re: [PATCH] fm10k: conditionally disable RSS during device
>> initialization
>>=20
>> Hi Jing,
>>=20
>> 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.
>>=20
>> 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.
>>=20
>> Could this be my problem? Is it required that I bind to the physical =
function
>> if I want to properly manipulate RSS?
>>=20
>> Thanks,
>> Mike
>>=20
> I don't know exactly what problem you ran into. I think we needn't =
worry about=20
> those DGLORT setting when using VF device.
>=20
> 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.
>=20
> 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=3D"(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=3D"(0,0,2)""
>    with RSS disabled. After sending packets, I can see queue 0 =
received packets.
>=20
> Can you explain what actual problem is?
> We can talk offline.