[dpdk-dev] Profiling tools for DPDK applications running on VM inside ESXi server

2014-02-28 Thread Selvaganapathy Chidambaram
Hi Dan, When we tried, perf did not work in ESX, it only works in KVM. oprofile works in timer mode in ESX. Thanks, Selvaganapathy.C. On Fri, Feb 28, 2014 at 6:07 PM, Daniel Kan wrote: > Hi, > I'm wondering which profilers are best for profiling DPDK applications > running on VM: perf, oprofi

[dpdk-dev] Getting Started with Intel DPDK

2014-02-28 Thread Aravind
Hello all, I'm a computer engineering student, and as part of my thesis... I would like to use Intel DPDK for packet generation. I'm completely new to this one and I only have a little knowledge on hardware programming. So could anyone help me to find the resources required to start coding using I

[dpdk-dev] Profiling tools for DPDK applications running on VM inside ESXi server

2014-02-28 Thread Daniel Kan
Thanks for the tip. Maybe it?s better to optimize code on bare metal before moving to VM. Dan On Feb 28, 2014, at 6:12 PM, Selvaganapathy Chidambaram wrote: > Hi Dan, > > When we tried, perf did not work in ESX, it only works in KVM. oprofile works > in timer mode in ESX. > > Thanks, > Se

[dpdk-dev] Profiling tools for DPDK applications running on VM inside ESXi server

2014-02-28 Thread Daniel Kan
Hi, I?m wondering which profilers are best for profiling DPDK applications running on VM: perf, oprofile, vtune? The first 2 are open sourced while vtune is commercial. DPDK apps are running on ubuntu 12.04 and centos 6.5. Thanks. Dan

[dpdk-dev] Error building using 1.6.0r1

2014-02-28 Thread David Marchand
Hello Mats, I reproduced the problem (and another one). I will send two patches in a few minutes, can you try them ? Thank you. -- David Marchand On Thu, Feb 27, 2014 at 3:08 PM, Mats Liljegren wrote: > I run a 64-bit host building for 32-bit DPDK, which fails with: > > dpdk/i686-default-li

[dpdk-dev] [PATCH 1/2] eal: fix use of RTE_PTR_ALIGN_CEIL macro on 32bits system

2014-02-28 Thread David Marchand
Build issue reported by Mats Liljegren : CC eal.o In file included from /home/lwrt/build/dpdk/lib/librte_eal/linuxapp/eal/eal.c:55:0: /home/lwrt/build/dpdk/lib/librte_eal/linuxapp/eal/eal.c: In function ?eal_parse_base_virtaddr?: /home/lwrt/build/dpdk/i686-default-linuxapp-gcc/include/rte_common

[dpdk-dev] [PATCH 2/2] mem: fix build on 32bits system

2014-02-28 Thread David Marchand
Rebase commit 57c24af85d9eaa81549a212169605b4e2468a29f introduced a build regression for 32bits system. CC eal_memory.o /home/marchand/dpdk.org/lib/librte_eal/linuxapp/eal/eal_memory.c: In function ?rte_mem_virt2phy?: /home/marchand/dpdk.org/lib/librte_eal/linuxapp/eal/eal_memory.c:140:12: error

[dpdk-dev] Error building using 1.6.0r1

2014-02-28 Thread Mats Liljegren
On Fri, Feb 28, 2014 at 9:11 AM, David Marchand wrote: > Hello Mats, > > I reproduced the problem (and another one). > I will send two patches in a few minutes, can you try them ? > > > Thank you. Yes, I can do that. Best regards Mats Liljegren

[dpdk-dev] Error building using 1.6.0r1

2014-02-28 Thread Mats Liljegren
On 02/28/2014 09:47 AM, Mats Liljegren wrote: > On Fri, Feb 28, 2014 at 9:11 AM, David Marchand > wrote: >> Hello Mats, >> >> I reproduced the problem (and another one). >> I will send two patches in a few minutes, can you try them ? >> >> >> Thank you. > > Yes, I can do that. > > Best regards > M

[dpdk-dev] [PATCH 00/11] eal: allow virtual pmd drivers as shared lib

2014-02-28 Thread Olivier Matz
The main goal of the following commits is to be able to load a PMD virtual device driver as a shared library (DPDK extension). Today it is already possible to load an external PMD PCI driver (ex: memnic, virtio-net-pmd, ...), but the DPDK framework does not allow to load a virtual device driver in

[dpdk-dev] [PATCH 01/11] mk: use whole-archive option when creating dpdk binaries

2014-02-28 Thread Olivier Matz
To fully support dpdk extensions (loading of .so), all symbols provided by dpdk libraries must be available in the binaries: before this patch, unused functions/variables from dpdk static libraries could be stripped by the linker because they are not used. These symbols can be used by a dpdk extens

[dpdk-dev] [PATCH 02/11] devices-args: introduce rte_devargs in eal

2014-02-28 Thread Olivier Matz
This commit introduces a new API for storing device arguments given by the user. It only adds the framework and the test. The modification of EAL to use this new module is done in next commit. The final goals: - unify pci-blacklist, pci-whitelist, and virtual devices arguments in one file - all

[dpdk-dev] [PATCH 04/11] devices-args: add a dump_devargs command in basic test application

2014-02-28 Thread Olivier Matz
This is useful for debug purposes. Example: echo 100 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages echo 100 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages ./app/test -c 0x15 -n 3 -m 64 \ --use-dev="eth_ring0" --use-device="eth_ring1" --use-d

[dpdk-dev] [PATCH 03/11] devices-args: use rte_devargs and remove old whitelist code

2014-02-28 Thread Olivier Matz
Remove old whitelist code: - remove references to rte_pmd_ring, rte_pmd_pcap and pmd_xenvirt in is_valid_wl_entry() as we want to be able to register external virtual drivers as a shared library. Moreover this code was duplicated with dev_types[] from eal_common_pci.c - eal_common_whitelist.c

[dpdk-dev] [PATCH 05/11] pci: rename device_list as pci_device_list

2014-02-28 Thread Olivier Matz
To avoid confusion with virtual devices, rename device_list as pci_device_list and driver_list as pci_driver_list. Signed-off-by: Olivier Matz --- app/test/test_pci.c | 2 +- lib/librte_eal/common/eal_common_pci.c| 14 +++--- lib/librte_eal/common/include/rte_p

[dpdk-dev] [PATCH 06/11] vdev: rename eal_common_nonpci_devs.c as eal_common_vdev.c

2014-02-28 Thread Olivier Matz
The name "nonpci" for virtual devices is ambiguous. A physical device can be non-PCI (ex: usb, sata, ...). This file only deal with virtual devices so rename it to avoid confusion. Signed-off-by: Olivier Matz --- lib/librte_eal/common/Makefile | 2 +- lib/librte_eal/common/eal_

[dpdk-dev] [PATCH 07/11] vdev: allow external registration of virtual device drivers

2014-02-28 Thread Olivier Matz
Instead of having a list of virtual device drivers in EAL code, add an API to register drivers. Thanks to this change: - we don't need to reference pmd_ring, pmd_pcap and pmd_xenvirt in EAL code - it is now possible to provide a virtual device driver as a shared library. The registration is done

[dpdk-dev] [PATCH 08/11] device-args: use a comma instead of semicolon to separate key/values

2014-02-28 Thread Olivier Matz
This commit changes the API of --use-device. It changes the separator used between each key/value pairs from ';' to ','. Indeed, ';' was not the best choice as this character is also used to separate shell commands, forcing the user to surround arguments with quotes. Signed-off-by: Olivier Matz -

[dpdk-dev] [PATCH 09/11] device-args: replace use-device eal option by pci-whitelist and vdev

2014-02-28 Thread Olivier Matz
This commit splits the "--use-device" option in two new options: - "--pci-whitelist or -w": add a PCI device in the white list - "--vdev": instanciate a new virtual device Before the patch, the same option "--use-device" was used for these 2 use-cases. By the way, we also add "--pci-blacklist" i

[dpdk-dev] [PATCH 10/11] device-args: allow to provide per pci device command line arguments

2014-02-28 Thread Olivier Matz
Some PCI drivers may require some specific initialization arguments at start-up. Even if unused today, adding this feature seems coherent with virtual devices in order to provide a full-featured rte_devargs framework. In the future, it could be added in pmd_ixgbe or pmd_igb for instance to enable

[dpdk-dev] [PATCH 11/11] testpmd: add several dump commands, useful for debug

2014-02-28 Thread Olivier Matz
Copy all the dump commands provided in app/test into app/testpmd. These commands are useful to debug a problem when using testpmd. Signed-off-by: Olivier Matz --- app/test-pmd/cmdline.c | 114 + 1 file changed, 114 insertions(+) diff --git a/app/t

[dpdk-dev] [PATCH 02/11] devices-args: introduce rte_devargs in eal

2014-02-28 Thread Stephen Hemminger
On Fri, 28 Feb 2014 18:25:41 +0100 Olivier Matz wrote: > switch (devargs->type) { > + case RTE_DEVTYPE_WHITELISTED_PCI: > + case RTE_DEVTYPE_BLACKLISTED_PCI: > + /* try to parse pci identifier */ > + if (eal_parse_pci_BDF(buf,