From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f50.google.com (mail-pa0-f50.google.com [209.85.220.50]) by dpdk.org (Postfix) with ESMTP id 7469DDE4 for ; Tue, 11 Mar 2014 07:19:11 +0100 (CET) Received: by mail-pa0-f50.google.com with SMTP id kq14so8310967pab.23 for ; Mon, 10 Mar 2014 23:20:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=zP8VaGX0r003GwGyH3tC030pa03ZjpponRobcgFed68=; b=hIRjsvgxYZMUXfbYCQsKCZMtQJ/MeEXekqN8NAmdfDdQA0hEvqdHV9ud5EoxcGpZUq BOR2nAouyYlFHVCPgMqoQYTjcAU7Gc8PkTB7UkqP7FfqddIVyNziFTSpWMPAveRtbOBg HFTw8Dwm37zX2nTxb99R8XfyLQ6672C+Rg4iZZp5Rr1NAVKW2zxAqbp5MqdWiH72r0Je gqc4o6jBNsuUtB0L6p0MhG55J4j6e60pr4kkKj3Q0kwDX775zya5WZaI9wkprM5qbd7T O916Ac+aRr0N0nKmfbRraoXLjWfTPQt4sbns5Tj61XrxtVU42mPqKsaDZZaAuN5vTdzK FNXg== X-Gm-Message-State: ALoCoQn0qPCXCNZsYvpVHahvcamI/amjNTz3TpZ56B2x9rmhXqnwI91kBxygykm5TrUADZyYZlUM X-Received: by 10.68.60.225 with SMTP id k1mr45500801pbr.58.1394518840390; Mon, 10 Mar 2014 23:20:40 -0700 (PDT) Received: from [192.168.1.80] (c-76-103-138-196.hsd1.ca.comcast.net. [76.103.138.196]) by mx.google.com with ESMTPSA id ss2sm99823225pab.8.2014.03.10.23.20.37 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 10 Mar 2014 23:20:38 -0700 (PDT) Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) From: Daniel Kan In-Reply-To: <010A5C29-965A-4DB3-BA3F-2525914016A0@nyansa.com> Date: Mon, 10 Mar 2014 23:20:34 -0700 Message-Id: References: <010A5C29-965A-4DB3-BA3F-2525914016A0@nyansa.com> To: "dev@dpdk.org" X-Mailer: Apple Mail (2.1874) Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] On vmxnet-pmd crash in DPDK 1.6.0r1 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: Tue, 11 Mar 2014 06:19:12 -0000 Upon further trace, I know what caused it. The uio hardware resources = were never memory mapped when RTE_EAL_UNBIND_PORTS is not enabled. = Specifically, pci_dev->mem_resource[] is not mapped. This explains why = setting CONFIG_RTE_EAL_UNBIND_PORTS=3Dy fixes the problem.=20 =20 lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c 266 static struct eth_driver rte_vmxnet3_pmd =3D { 267 { 268 .name =3D "rte_vmxnet3_pmd", 269 .id_table =3D pci_id_vmxnet3_map, 270 #ifdef RTE_EAL_UNBIND_PORTS 271 .drv_flags =3D RTE_PCI_DRV_NEED_IGB_UIO, 272 #endif 273 }, 274 .eth_dev_init =3D eth_vmxnet3_dev_init, 275 .dev_private_size =3D sizeof(struct vmxnet3_adapter), 276 }; Note drv_flags will be 0.=20 lib/librte_eal/linuxapp/eal/eal_pci.c 1039 #ifdef RTE_EAL_UNBIND_PORTS 1040 if (dr->drv_flags & RTE_PCI_DRV_NEED_IGB_UIO) { 1041 /* unbind driver and load uio resources for Intel NICs = */ 1042 if (pci_switch_module(dr, dev, 1, IGB_UIO_NAME) < 0) ... 1050 #else 1051 if (dr->drv_flags & RTE_PCI_DRV_NEED_IGB_UIO) 1052 /* just map resources for Intel NICs */ 1053 if (pci_uio_map_resource(dev) < 0) 1054 return -1; 1055 #endif If RTE_EAL_UNBIND_PORTS is defined, pci_switch_module will call = pci_uio_map_resource. I then looked at the bsdapp=92s version, it simply has: lib/librte_eal/bsdapp/eal/eal_pci.c 479 /* just map the NIC resources */ 480 if (pci_uio_map_resource(dev) < 0) 481 return -1; I don=92t know the history behind why .drv_flags =3D = RTE_PCI_DRV_NEED_IGB_UIO only for RTE_EAL_UNBIND_PORTS. Can we just = ensure pci_uio_map_resource is called in linux just like bsd version? = One way is to ensure drv_flags is always set to = RTE_PCI_DRV_NEED_IGB_UIO, but I don=92t know if this fix will break = other parts.=20 +++ vmxnet3_ethdev.c 2014-03-10 23:18:02.087742434 -0700 @@ -267,9 +267,7 @@ { .name =3D "rte_vmxnet3_pmd", .id_table =3D pci_id_vmxnet3_map, -#ifdef RTE_EAL_UNBIND_PORTS .drv_flags =3D RTE_PCI_DRV_NEED_IGB_UIO, -#endif }, .eth_dev_init =3D eth_vmxnet3_dev_init, .dev_private_size =3D sizeof(struct vmxnet3_adapter), Thanks.=20 Dan On Mar 10, 2014, at 10:33 PM, Daniel Kan wrote: > I also got the segfault. Setting CONFIG_RTE_EAL_UNBIND_PORTS=3Dy is = not ideal because it would also unbind my VMNET3 management interface. >=20 > Does anyone know why the crash is happening? According to the = stacktrace, hw_addrX is 0x0 during eth_vmxnet3_dev_init.=20 >=20 > I=92m running on ubuntu 12.04LTS on ESXi 5.5 with Intel I350 NIC as = the physical adapter for VMNET3.=20 >=20 > Program received signal SIGSEGV, Segmentation fault. > 0x00000000004fe0eb in vmxnet3_read_addr (addr=3D0x0) at = /home/dkan/nyansa/3rd-party/dpdk-1.6.0r1/lib/librte_pmd_vmxnet3/vmxnet3_et= hdev.h:139 > (gdb) up > #1 0x00000000004fe331 in eth_vmxnet3_dev_init (eth_drv=3D0x799440 = , eth_dev=3D0x7d5280 ) at = /home/dkan/nyansa/3rd-party/dpdk-1.6.0r1/lib/librte_pmd_v\ > mxnet3/vmxnet3_ethdev.c:218 > (gdb) print *hw > $12 =3D {hw_addr0 =3D 0x0, hw_addr1 =3D 0x0, back =3D 0x0, device_id =3D= 1968, vendor_id =3D 5549, subsystem_device_id =3D 0, = subsystem_vendor_id =3D 0, adapter_stopped =3D 0, perm_addr =3D = "\000\000\\ > 000\000\000", num_tx_queues =3D 1 '\001', num_rx_queues =3D 1 '\001', = bufs_per_pkt =3D 1 '\001', cur_mtu =3D 1500, tqd_start =3D 0x0, = rqd_start =3D 0x0, shared =3D 0x0, sharedPA =3D 0, queueDescPA\ > =3D 0, queue_desc_len =3D 0, rss_conf =3D 0x0, rss_confPA =3D 0, = mf_table =3D 0x0} >=20 > Thanks in advance.=20 >=20 > Dan >=20 > On Mar 10, 2014, at 1:00 AM, Prashant Upadhyaya = wrote: >=20 >> Hi Srini, >>=20 >> Thanks, I could also make it work, thanks to your cue ! >>=20 >> Now then, this multi-segment not being supported in vmxnet3 driver is = a big party-pooper for me. Unfortunately in my usecase, I do indeed make = heavy use of multisegment buffers for sending out the data, so my = usecase has failed and I will have to fix that. >>=20 >> Also, can you please adivse how much is the max data rates you have = been able to achieve with one vmxnet3 10G port. >>=20 >> Thanks a lot for the advice once again. >>=20 >> Regards >> -Prashant >>=20 >>=20 >> -----Original Message----- >> From: Srinivasan J [mailto:srinidpdk@gmail.com] >> Sent: Sunday, March 09, 2014 12:38 AM >> To: Prashant Upadhyaya >> Cc: David Marchand; dev@dpdk.org >> Subject: Re: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk = 1.6.x? >>=20 >> Prashant, >> I was also able to hit the issue your hitting using Esxi >> 5.1.0 evaluation and Fedora 20 X86_64 guest. I was able to fix the = issue by setting CONFIG_RTE_EAL_UNBIND_PORTS=3Dy option in = defconfig_x86_64-default-linuxapp-gcc configuration file. >>=20 >> Issue seen >> =3D=3D=3D=3D=3D=3D=3D=3D >>=20 >> EAL: PCI device 0000:03:00.0 on NUMA socket -1 >> EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd >> EAL: Device is blacklisted, not initializing >> EAL: PCI device 0000:0b:00.0 on NUMA socket -1 >> EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd >>=20 >> Program received signal SIGSEGV, Segmentation fault. >> eth_vmxnet3_dev_init (eth_drv=3D, eth_dev=3D0x754480 >> ) at >> /root/source/dpdk-1.6.0r1/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c:218 >> 218 ver =3D VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_VRRS); >> Missing separate debuginfos, use: debuginfo-install = glibc-2.18-11.fc20.x86_64 >> (gdb) p hw >> $1 =3D (struct vmxnet3_hw *) 0x7fffd8fc1040 >> (gdb) p *hw >> $2 =3D {hw_addr0 =3D 0x0, hw_addr1 =3D 0x0, back =3D 0x0, device_id =3D= 1968, vendor_id =3D 5549, subsystem_device_id =3D 0, = subsystem_vendor_id =3D 0, >> adapter_stopped =3D 0, perm_addr =3D "\000\000\000\000\000", = num_tx_queues =3D 1 '\001', num_rx_queues =3D 1 '\001', bufs_per_pkt =3D = 1 '\001', cur_mtu =3D 0, >> tqd_start =3D 0x0, rqd_start =3D 0x0, shared =3D 0x0, sharedPA =3D = 0, queueDescPA =3D 0, queue_desc_len =3D 0, rss_conf =3D 0x0, rss_confPA = =3D 0, mf_table =3D 0x0} >> (gdb) >>=20 >> #define VMXNET3_PCI_BAR1_REG_ADDR(hw, reg) \ >> ((volatile uint32_t *)((char *)(hw)->hw_addr1 + (reg))) = #define VMXNET3_READ_BAR1_REG(hw, reg) \ >> vmxnet3_read_addr(VMXNET3_PCI_BAR1_REG_ADDR((hw), (reg))) = lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h >>=20 >> Issue not seen after enabling CONFIG_RTE_EAL_UNBIND_PORTS=3Dy = =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= >>=20 >> [root@localhost build]# ./l2fwd -c 0xf -b 0000:03:00.0 -n 1 -- -p 0x6 >> 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: Skip lcore 4 (not detected) >> EAL: Skip lcore 5 (not detected) >> EAL: Skip lcore 6 (not detected) >> EAL: Skip lcore 7 (not detected) >> 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 0x200000 bytes >> EAL: Virtual area found at 0x7f3a76a00000 (size =3D 0x200000) >> EAL: Ask a virtual area of 0x7c00000 bytes >> EAL: Virtual area found at 0x7f3a6ec00000 (size =3D 0x7c00000) >> EAL: Ask a virtual area of 0x200000 bytes >> EAL: Virtual area found at 0x7f3a6e800000 (size =3D 0x200000) >> EAL: Requesting 64 pages of size 2MB from socket 0 >> EAL: TSC frequency is ~2200000 KHz >> EAL: Master core 0 is ready (tid=3D76cfe880) >> EAL: Core 3 is ready (tid=3D6cffc700) >> EAL: Core 1 is ready (tid=3D6dffe700) >> EAL: Core 2 is ready (tid=3D6d7fd700) >> EAL: PCI device 0000:03:00.0 on NUMA socket -1 >> EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd >> EAL: Device is blacklisted, not initializing >> EAL: PCI device 0000:0b:00.0 on NUMA socket -1 >> EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd >> EAL: PCI memory mapped at 0x7f3a76d10000 >> EAL: PCI memory mapped at 0x7f3a76d0f000 >> EAL: PCI memory mapped at 0x7f3a76d0d000 >> EAL: PCI device 0000:13:00.0 on NUMA socket -1 >> EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd >> EAL: PCI memory mapped at 0x7f3a76d0c000 >> EAL: PCI memory mapped at 0x7f3a76d0b000 >> EAL: PCI memory mapped at 0x7f3a76d09000 >> Notice: odd number of ports in portmask. >> Lcore 0: RX port 1 >> Skipping disabled port 0 >> Initializing port 1... done: >> Port 1, MAC address: 00:0C:29:F1:9D:A4 >>=20 >>=20 >> Checking link statusdone >> Port 1 Link Up - speed 10000 Mbps - full-duplex >> L2FWD: lcore 1 has nothing to do >> L2FWD: lcore 2 has nothing to do >> L2FWD: lcore 3 has nothing to do >> L2FWD: entering main loop on lcore 0 >> L2FWD: -- lcoreid=3D0 portid=3D1 >>=20 >> Port statistics =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 >> Statistics for port 1 ------------------------------ >> Packets sent: 0 >> Packets received: 0 >> Packets dropped: 0 >> Statistics for port 2 ------------------------------ >> Packets sent: 0 >> Packets received: 0 >> Packets dropped: 0 >> Aggregate statistics =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 >> Total packets sent: 0 >> Total packets received: 0 >> Total packets dropped: 0 >> =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 >>=20 >>=20 >>=20 >>=20 >> On Fri, Mar 7, 2014 at 10:43 AM, Prashant Upadhyaya = wrote: >>> Hi Srini, >>>=20 >>> Yes, I am still stuck, I am using ESXi5.1 though and Fedora18 in = Guest. >>> Please let me know what is the guest OS distro you are using in the = VM. I'll try with that once. >>>=20 >>> Regards >>> -Prashant >>>=20 >>>=20 >>> -----Original Message----- >>> From: Srinivasan J [mailto:srinidpdk@gmail.com] >>> Sent: Friday, March 07, 2014 9:08 AM >>> To: Prashant Upadhyaya >>> Cc: David Marchand; dev@dpdk.org >>> Subject: Re: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk = 1.6.x? >>>=20 >>> Prashant, >>> Are you still hitting a crash? Do you have hugetlbfs >>> enabled? if not try adding enabling hugetlbfs. I was able to get >>> vxnet3 up using the vmxnet3 pmd alone in DPDK 1.60r1. I did not use >>> the vmxnet3-usermap kernel driver. I am using Esxi 5.5 >>>=20 >>> Eg: echo 1024 > /proc/sys/vm/nr_hugepages; mkdir /huge; mount -t >>> hugetlbfs nodev /huge; >>>=20 >>> On Thu, Mar 6, 2014 at 12:48 PM, Prashant Upadhyaya = wrote: >>>> And if it is any help, here is the startup log -- >>>>=20 >>>> 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) >>>>=20 >>>> -----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? >>>>=20 >>>> Hi, >>>>=20 >>>> 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 start the application. (so no external ko or vmxnet usermap >>>> etc.) During the port initializations, the crash is happening in = the >>>> following function - >>>>=20 >>>> eth_vmxnet3_dev_init >>>>=20 >>>> 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); >>>>=20 >>>> Any hints regarding what could be wrong ? >>>>=20 >>>> Regards >>>> -Prashant >>>>=20 >>>>=20 >>>> 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? >>>>=20 >>>> Hi David, >>>>=20 >>>> 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 generates this. >>>>=20 >>>> 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 application, 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. >>>>=20 >>>> Regards >>>> -Prashant >>>>=20 >>>>=20 >>>> 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 >>>> Subject: Re: [dpdk-dev] Which vmxnet3 pmd is to be used in dpdk = 1.6.x? >>>>=20 >>>> Hello Prashant, >>>>=20 >>>> On Wed, Mar 5, 2014 at 3:28 PM, Prashant Upadhyaya = > = wrote: >>>> Hi, >>>>=20 >>>> 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 usermap kernel driver etc. >>>>=20 >>>> Secondly, if I turn on all the debug options for the vmxnet3 pmd in = the config file, 1.6.0r1 compilation runs into a problem and reports a = function which is defined but not used. >>>>=20 >>>> Can you send your build error ? (maybe in a separate thread ?) >>>>=20 >>>>=20 >>>> I am trying to bring up DPDK inside Fedora18 Guest on ESXi -- when = I used DPDK1.6.0r1 (without debug options turned on for vmxnet3 pmd) the = igb_uio could 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 ? >>>>=20 >>>> I encountered these problems as well. >>>>=20 >>>> - igb_uio module does not check if you disable vmxnet3-uio pmds, it = will always try to take over vmxnet3 devices. >>>> I have a patch waiting in my working dir to cleanly disable = vmxnet3-uio pmd. >>>>=20 >>>> - If you don't bind vmxnet3 devices to uio, but forget to enable = vmxnet3-usermap 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 workaround. >>>>=20 >>>>=20 >>>> Regards, >>>> -- >>>> David Marchand >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>> = =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 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>> = =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 >>>=20 >>>=20 >>>=20 >>>=20 >>> = =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 >>=20 >>=20 >>=20 >>=20 >> = =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 >=20