From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <prashant.upadhyaya@aricent.com>
Received: from jaguar.aricent.com (jaguar.aricent.com [121.241.96.11])
 by dpdk.org (Postfix) with ESMTP id 18DA92E8F
 for <dev@dpdk.org>; Thu,  6 Mar 2014 08:17:42 +0100 (CET)
Received: from jaguar.aricent.com (localhost [127.0.0.1])
 by postfix.imss71 (Postfix) with ESMTP id 3664036B6E;
 Thu,  6 Mar 2014 12:48:50 +0530 (IST)
Received: from GUREXHT02.ASIAN.AD.ARICENT.COM (gurexht02.asian.ad.aricent.com
 [10.203.171.138]) (using TLSv1 with cipher RC4-MD5 (128/128 bits))
 (No client certificate requested)
 by jaguar.aricent.com (Postfix) with ESMTP id 201C036B67;
 Thu,  6 Mar 2014 12:48:50 +0530 (IST)
Received: from GUREXMB01.asian.ad.aricent.com ([10.203.171.134]) by
 GUREXHT02.ASIAN.AD.ARICENT.COM ([10.203.171.138]) with mapi; Thu, 6 Mar 2014
 12:48:50 +0530
From: Prashant Upadhyaya <prashant.upadhyaya@aricent.com>
To: David Marchand <david.marchand@6wind.com>
Date: Thu, 6 Mar 2014 12:48:47 +0530
Thread-Topic: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk 1.6.x?
Thread-Index: Ac84hRKqJdz8OskxRhCddfO8cyX1MwAAfR0gACAy8AAAARh9QA==
Message-ID: <C7CE7EEF248E2B48BBA63D0ABEEE700C5A2A506166@GUREXMB01.ASIAN.AD.ARICENT.COM>
References: <CAEbeQ+q2qZkufmZrHXd2r_JTq2wL-0=xm5-9ngqfqPqq8_A0eQ@mail.gmail.com>
 <C7CE7EEF248E2B48BBA63D0ABEEE700C5A2A50609C@GUREXMB01.ASIAN.AD.ARICENT.COM>
 <CALwxeUsV7NCgQBbL2XCSYm_RLx1tt5pMN_thbxnP_2D3ho4thw@mail.gmail.com>
 <C7CE7EEF248E2B48BBA63D0ABEEE700C5A2A506142@GUREXMB01.ASIAN.AD.ARICENT.COM>
In-Reply-To: <C7CE7EEF248E2B48BBA63D0ABEEE700C5A2A506142@GUREXMB01.ASIAN.AD.ARICENT.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-TM-AS-MML: No
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk 1.6.x?
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, 06 Mar 2014 07:17:42 -0000

And if it is any help, here is the startup log --

EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 1 on socket 0
EAL: Detected lcore 2 as core 2 on socket 0
EAL: Detected lcore 3 as core 3 on socket 0
EAL: Detected lcore 4 as core 4 on socket 0
EAL: Detected lcore 5 as core 5 on socket 0
EAL: Detected lcore 6 as core 6 on socket 0
EAL: Detected lcore 7 as core 7 on socket 0
EAL: Skip lcore 8 (not detected)
EAL: Skip lcore 9 (not detected)
EAL: Skip lcore 10 (not detected)
EAL: Skip lcore 11 (not detected)
EAL: Skip lcore 12 (not detected)
EAL: Skip lcore 13 (not detected)
EAL: Skip lcore 14 (not detected)
EAL: Skip lcore 15 (not detected)
EAL: Skip lcore 16 (not detected)
EAL: Skip lcore 17 (not detected)
EAL: Skip lcore 18 (not detected)
EAL: Skip lcore 19 (not detected)
EAL: Skip lcore 20 (not detected)
EAL: Skip lcore 21 (not detected)
EAL: Skip lcore 22 (not detected)
EAL: Skip lcore 23 (not detected)
EAL: Skip lcore 24 (not detected)
EAL: Skip lcore 25 (not detected)
EAL: Skip lcore 26 (not detected)
EAL: Skip lcore 27 (not detected)
EAL: Skip lcore 28 (not detected)
EAL: Skip lcore 29 (not detected)
EAL: Skip lcore 30 (not detected)
EAL: Skip lcore 31 (not detected)
EAL: Skip lcore 32 (not detected)
EAL: Skip lcore 33 (not detected)
EAL: Skip lcore 34 (not detected)
EAL: Skip lcore 35 (not detected)
EAL: Skip lcore 36 (not detected)
EAL: Skip lcore 37 (not detected)
EAL: Skip lcore 38 (not detected)
EAL: Skip lcore 39 (not detected)
EAL: Skip lcore 40 (not detected)
EAL: Skip lcore 41 (not detected)
EAL: Skip lcore 42 (not detected)
EAL: Skip lcore 43 (not detected)
EAL: Skip lcore 44 (not detected)
EAL: Skip lcore 45 (not detected)
EAL: Skip lcore 46 (not detected)
EAL: Skip lcore 47 (not detected)
EAL: Skip lcore 48 (not detected)
EAL: Skip lcore 49 (not detected)
EAL: Skip lcore 50 (not detected)
EAL: Skip lcore 51 (not detected)
EAL: Skip lcore 52 (not detected)
EAL: Skip lcore 53 (not detected)
EAL: Skip lcore 54 (not detected)
EAL: Skip lcore 55 (not detected)
EAL: Skip lcore 56 (not detected)
EAL: Skip lcore 57 (not detected)
EAL: Skip lcore 58 (not detected)
EAL: Skip lcore 59 (not detected)
EAL: Skip lcore 60 (not detected)
EAL: Skip lcore 61 (not detected)
EAL: Skip lcore 62 (not detected)
EAL: Skip lcore 63 (not detected)
EAL: Setting up memory...
EAL: Ask a virtual area of 0x80000000 bytes
EAL: Virtual area found at 0x7f848ae00000 (size =3D 0x80000000)
EAL: Requesting 1024 pages of size 2MB from socket 0
EAL: TSC frequency is ~2000000 KHz
EAL: Master core 0 is ready (tid=3Db3f3f00)
EAL: Core 1 is ready (tid=3D8a1f2700)
EAL: Core 2 is ready (tid=3D899f1700)
EAL: Core 3 is ready (tid=3D891f0700)
EAL: Core 4 is ready (tid=3D889ef700)
EAL: Core 5 is ready (tid=3D7bfff700)
EAL: Core 6 is ready (tid=3D7b7fe700)
EAL: Core 7 is ready (tid=3D7affd700)
Pool initialized
Global Variables initialized
PMD: rte_vmxnet3_pmd_init():  >>
EAL: PCI device 0000:0b:00.0 on NUMA socket -1
EAL:   probe driver: 15ad:7b0 rte_vmxnet3_pmd
PMD: eth_vmxnet3_dev_init():  >>
Segmentation fault (core dumped)

-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Prashant Upadhyaya
Sent: Thursday, March 06, 2014 12:20 PM
To: David Marchand
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk 1.6.x?

Hi,

Some further update on the crash I am facing.
I am using DPDK1.6.0r1 and take over the vmxnet3 with igb_uio and then star=
t the application. (so no external ko or vmxnet usermap etc.) During the po=
rt initializations, the crash is happening in the following function -

eth_vmxnet3_dev_init

and the crash is happening at the following line -
/* Check h/w version compatibility with driver. */
    ver =3D VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_VRRS);

Any hints regarding what could be wrong ?

Regards
-Prashant


From: Prashant Upadhyaya
Sent: Wednesday, March 05, 2014 9:01 PM
To: 'David Marchand'
Cc: Srinivasan J; dev@dpdk.org
Subject: RE: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk 1.6.x?

Hi David,

The compilation error with debug flags on was that the functions -- vmxnet3=
_txq_dump, vmxnet3_rxq_dump - are defined but not used.
Not a serious error, I will try to get rid of the compiler flag which gener=
ates this.

However, I must reiterate, I _did_ bind my vmxnet3 device with igb_uio (and=
 I did not use any .so, because I was intending to use the builtin vmxnet3 =
driver of dpdk 1.6.0r1), the bind succeeded, but then when I started the ap=
plication, the dev init for vmxnet3 gave a core dump.
Your patch and solution seems to be suggesting the reverse, i.e. when I don=
't bind with igb_uio but try to use the native driver. So please do try the=
 above combination as well.

Regards
-Prashant


From: David Marchand [mailto:david.marchand@6wind.com]
Sent: Wednesday, March 05, 2014 8:41 PM
To: Prashant Upadhyaya
Cc: Srinivasan J; dev@dpdk.org<mailto:dev@dpdk.org>
Subject: Re: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk 1.6.x?

Hello Prashant,

On Wed, Mar 5, 2014 at 3:28 PM, Prashant Upadhyaya <prashant.upadhyaya@aric=
ent.com<mailto:prashant.upadhyaya@aricent.com>> wrote:
Hi,

I am also keen to know the answer to the question posted by Srini.
The real question is -- is dpdk1.6.0r1 self-sufficient so that I don't need=
 any extensions etc., or do I still need something from outside like the us=
ermap kernel driver etc.

Secondly, if I turn on all the debug options for the vmxnet3 pmd in the con=
fig file, 1.6.0r1 compilation runs into a problem and reports a function wh=
ich is defined but not used.

Can you send your build error ? (maybe in a separate thread ?)


I am trying to bring up DPDK inside Fedora18 Guest on ESXi -- when I used D=
PDK1.6.0r1 (without debug options turned on for vmxnet3 pmd) the igb_uio co=
uld take over the vmxnet3 NIC but I encountered a core dump in the dev init=
 function for the vmxnet3 driver -- anybody encountered a similar issue ?

I encountered these problems as well.

- igb_uio module does not check if you disable vmxnet3-uio pmds, it will al=
ways try to take over vmxnet3 devices.
I have a patch waiting in my working dir to cleanly disable vmxnet3-uio pmd=
.

- If you don't bind vmxnet3 devices to uio, but forget to enable vmxnet3-us=
ermap pmd (by specifiying -d librte_pmd_vmxnet3.so), then internal vmxnet3-=
uio pmd will try to initialise and crash.
I did not look any deeper into this, the easiest way is to disable vmxnet3-=
uio pmd + apply the patch I will send in a few minutes, as a first workarou=
nd.


Regards,
--
David Marchand




=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D




=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D