[dpdk-dev] [PATCH] ethdev: fix formatting of doxygen comments

2016-06-22 Thread Thomas Monjalon
2016-06-18 02:27, Hiroyuki Mikita: > This commit fixes some functions missing in API documentation. > > Signed-off-by: Hiroyuki Mikita Applied, thanks

[dpdk-dev] [PATCH 0/3] ethdev: add helper functions to get eth_dev and dev private data

2016-06-22 Thread Thomas Monjalon
2016-02-17 14:20, Ferruh Yigit: > This is to provide abstraction and reduce global variable access. > > Global variable rte_eth_devices kept exported to not break ABI. > > Bonding driver not selected on purpose, just it seems it is using > rte_eth_devices heavily. The struct rte_eth_dev is mark

[dpdk-dev] [PATCH v2] ethdev: make struct rte_eth_dev cache aligned

2016-06-22 Thread Thomas Monjalon
2016-05-03 18:12, Jerin Jacob: > Elements of struct rte_eth_dev used in the fast path. > Make struct rte_eth_dev cache aligned to avoid the cases where > rte_eth_dev elements share the same cache line with other structures. > > Signed-off-by: Jerin Jacob Let's try it in real tests. Applied, than

[dpdk-dev] [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types

2016-06-22 Thread Jerin Jacob
On Wed, Jun 22, 2016 at 05:06:30PM +0200, Thomas Monjalon wrote: > 2016-06-22 18:33, Jerin Jacob: > > - added VXLAN, GENEVE and NVGRE tunnel flow types > > - added PORT flow type for accounting physical/virtual > > port or channel number in flow creation > [...] > > +#define RTE_ETH_FLOW_PORT

[dpdk-dev] [PATCH v4 0/2] New RSS offload flags

2016-06-22 Thread Thomas Monjalon
> Jerin Jacob (2): > ethdev: add tunnel and port RSS offload types > ethdev: add ETH_RSS_RETA_SIZE_256 Applied with suggested rewording, thanks

[dpdk-dev] [PATCH v5 10/17] ethdev: get rid of eth driver register callback

2016-06-22 Thread Shreyansh jain
On Wednesday 22 June 2016 06:58 PM, Neil Horman wrote: > On Wed, Jun 22, 2016 at 02:36:29PM +0530, Shreyansh Jain wrote: >> Now that all pdev are pci drivers, we don't need to register ethdev drivers >> through a dedicated channel. >> >> Signed-off-by: David Marchand >> Signed-off-by: Shreyansh Ja

[dpdk-dev] [PATCH v5 09/17] crypto: get rid of crypto driver register callback

2016-06-22 Thread Shreyansh jain
On Wednesday 22 June 2016 06:57 PM, Neil Horman wrote: > On Wed, Jun 22, 2016 at 02:36:28PM +0530, Shreyansh Jain wrote: >> Now that all pdev are pci drivers, we don't need to register crypto drivers >> through a dedicated channel. >> >> Signed-off-by: David Marchand >> Signed-off-by: Shreyansh Ja

[dpdk-dev] [PATCH v3] ethdev: fix DCB config issue on ixgbe

2016-06-22 Thread Thomas Monjalon
2016-05-06 05:33, Wenzhuo Lu: > An issue is found that DCB cannot be configured on ixgbe > NICs. It's said the TX queue number is not right. > On ixgbe the max TX queue number is not fixed, it depends > on the multi-queue mode. The API rte_eth_dev_configure > should be used to configure this mode.

[dpdk-dev] [PATCH v3] eal/linuxapp: fix resource leak

2016-06-22 Thread Daniel Mrzyglod
This patch fix all cases to do proper handle all munmap if pointer of hugepage is not NULL which prohibits resource leak. Coverity issue: 97920 Fixes: b6a468ad41d5 ("memory: add --socket-mem option") Signed-off-by: Daniel Mrzyglod --- lib/librte_eal/linuxapp/eal/eal_memory.c | 6 -- 1 file

[dpdk-dev] [PATCH v4 2/2] ethdev: add ETH_RSS_RETA_SIZE_256

2016-06-22 Thread Jerin Jacob
Signed-off-by: Jerin Jacob --- lib/librte_ether/rte_ethdev.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 1579cb0..6cf4c58 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -477,6 +477,7 @@

[dpdk-dev] [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types

2016-06-22 Thread Jerin Jacob
- added VXLAN, GENEVE and NVGRE tunnel flow types - added PORT flow type for accounting physical/virtual port or channel number in flow creation Signed-off-by: Jerin Jacob --- app/test-pmd/cmdline.c | 18 +++--- app/test-pmd/config.c | 9 ++

[dpdk-dev] [PATCH v4 0/2] New RSS offload flags

2016-06-22 Thread Jerin Jacob
v1..v2 - Added cover letter - Corrected typo in RET_ETH_FLOW_VXLAN name - Updated test-pmd application to access newly defined RSS offload flags v2..v3 -testpmd document update(Suggested by John and Pablo) v3..v4 - Added doxgen comments for new FLOW types(Suggested by Thomas) Jerin Jacob (2):

[dpdk-dev] [PATCH] port: fix build when KNI support is not enabled

2016-06-22 Thread Olivier Matz
On 06/22/2016 02:20 PM, Thomas Monjalon wrote: > 2016-06-22 13:57, Olivier Matz: >> Hi Thomas, >> >> On 06/22/2016 01:49 PM, Thomas Monjalon wrote: >>> 2016-06-22 14:34, Panu Matilainen: --- a/lib/librte_port/Makefile +++ b/lib/librte_port/Makefile @@ -82,6 +82,8 @@ DEPDIRS-$(CONFIG_

[dpdk-dev] [PATCH] app/test: fix for icc compilation error

2016-06-22 Thread John Griffin
On 22/06/16 17:13, Deepak Kumar Jain wrote: > Icc complains about variable may be used without setting. > > Fixes: 97fe6461c7cbfb ("app/test: add SNOW 3G performance test) > > Signed-off-by: Deepak Kumar Jain Acked-by: John Griffin

[dpdk-dev] [PATCH] app/test: fix for icc compilation error

2016-06-22 Thread Deepak Kumar Jain
Icc complains about variable may be used without setting. Fixes: 97fe6461c7cbfb ("app/test: add SNOW 3G performance test) Signed-off-by: Deepak Kumar Jain --- app/test/test_cryptodev_perf.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/app/test/test_cryptodev_pe

[dpdk-dev] [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types

2016-06-22 Thread Thomas Monjalon
2016-06-22 18:33, Jerin Jacob: > - added VXLAN, GENEVE and NVGRE tunnel flow types > - added PORT flow type for accounting physical/virtual > port or channel number in flow creation [...] > +#define RTE_ETH_FLOW_PORT 18 > + /**< Physical/virtual port number based flow */ What abo

[dpdk-dev] [PATCH v6 1/4] lib/librte_ether: support device reset

2016-06-22 Thread Jerin Jacob
On Wed, Jun 22, 2016 at 11:18:21AM +0200, Thomas Monjalon wrote: > 2016-06-22 08:25, Lu, Wenzhuo: > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > 2016-06-22 13:29, Jerin Jacob: > > > > Thomas, > > > > As a librte_ether maintainer any comments on this? > > > > > > +1 for addin

[dpdk-dev] segfault in vt_pci_init

2016-06-22 Thread Thomas F Herbert
Thomas, Thanks. That fixes it of course. --TFH On 6/22/16 3:39 PM, Thomas Monjalon wrote: > 2016-06-22 14:27, Thomas F Herbert: >> Program received signal SIGSEGV, Segmentation fault. >> 0x00616172 in vtpci_init (dev=0xbfb0f0, hw=0x7fffd57d0700, >> dev_flags=0x7fffdf9c) >>

[dpdk-dev] [PATCH] arm64: change rte_memcpy to inline function

2016-06-22 Thread Jianbo Liu
On 17 June 2016 at 18:30, Thomas Monjalon wrote: > 2016-05-19 17:56, Thomas Monjalon: >> 2016-05-19 21:48, Jianbo Liu: >> > On 13 May 2016 at 23:49, Thomas Monjalon >> > wrote: >> > > 2016-05-10 14:01, Jianbo Liu: >> > >> Other APP may call rte_memcpy by function pointer, >> > >> so change it to

[dpdk-dev] [PATCH v5 09/17] crypto: get rid of crypto driver register callback

2016-06-22 Thread Thomas Monjalon
2016-06-22 09:27, Neil Horman: > > +++ b/lib/librte_cryptodev/rte_cryptodev_version.map > > - rte_cryptodev_pmd_driver_register; > NAK, you can't just remove exported symbols without going through the > deprecation process. Better still would be to only expose it for DPDK_16.04 > and > hide it

[dpdk-dev] segfault in vt_pci_init

2016-06-22 Thread Thomas Monjalon
2016-06-22 14:27, Thomas F Herbert: > Program received signal SIGSEGV, Segmentation fault. > 0x00616172 in vtpci_init (dev=0xbfb0f0, hw=0x7fffd57d0700, > dev_flags=0x7fffdf9c) > at /home/heat-admin/dpdk/drivers/net/virtio/virtio_pci.c:722 > 722dev->devargs->typ

[dpdk-dev] [PATCH v2 3/3] app/pdump: fix string overflow

2016-06-22 Thread Reshma Pattan
replaced strncpy with snprintf for safely copying the strings. Coverity issue 127351: string overflow Fixes: caa7028276b8 ("app/pdump: add tool for packet capturing") Signed-off-by: Reshma Pattan --- app/pdump/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/p

[dpdk-dev] [PATCH v2 2/3] pdump: fix string overflow

2016-06-22 Thread Reshma Pattan
replaced strncpy with snprintf for safely copying the strings. Cverity issue 127350: string overflow Fixes: 278f945402c5 ("pdump: add new library for packet capture") Signed-off-by: Reshma Pattan --- lib/librte_pdump/rte_pdump.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff

[dpdk-dev] [PATCH v2 1/3] pdump: check getenv return value

2016-06-22 Thread Reshma Pattan
inside pdump_get_socket_path(), getenv can return a NULL pointer if the match for SOCKET_PATH_HOME is not found in the environment. NULL check is added to return -1 immediately without calling mkdir. Since pdump_get_socket_path() returns -1 now, wherever this function is called there the return val

[dpdk-dev] [PATCH v2 0/3] fix coverity issues in packet capture framework

2016-06-22 Thread Reshma Pattan
This patchset fixes coverity issues in pdump library and pdump tool. v2: fixed code review comment to use snprintf instead of strncpy. Reshma Pattan (3): pdump: check getenv return value pdump: fix string overflow app/pdump: fix string overflow app/pdump/main.c | 4 ++-- lib/

[dpdk-dev] [PATCH v5 17/17] ethdev: get rid of device type

2016-06-22 Thread Shreyansh Jain
Now that hotplug has been moved to eal, there is no reason to keep the device type in this layer. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- app/test/virtual_pmd.c| 2 +- drivers/net/af_packet/rte_eth_af_packet.c | 2 +- drivers/net/bonding/rte_eth_bon

[dpdk-dev] [PATCH v5 16/17] ethdev: convert to eal hotplug

2016-06-22 Thread Shreyansh Jain
Remove bus logic from ethdev hotplug by using eal for this. Current api is preserved: - the last port that has been created is tracked to return it to the application when attaching, - the internal device name is reused when detaching. We can not get rid of ethdev hotplug yet since we still nee

[dpdk-dev] [PATCH v5 15/17] eal: add hotplug operations for pci and vdev

2016-06-22 Thread Shreyansh Jain
hotplug which deals with resources should come from the layer that already handles them, i.e. eal. For both attach and detach operations, 'name' is used to select the bus that will handle the request. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_eal/bsdapp/eal/rte

[dpdk-dev] [PATCH v5 14/17] ethdev: do not scan all pci devices on attach

2016-06-22 Thread Shreyansh Jain
No need to scan all devices, we only need to update the device being attached. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_eal/common/eal_common_pci.c | 11 --- lib/librte_ether/rte_ethdev.c | 3 --- 2 files changed, 8 insertions(+), 6 deletions(

[dpdk-dev] [PATCH v5 13/17] pci: add a helper to update a device

2016-06-22 Thread Shreyansh Jain
This helper updates a pci device object with latest information it can find. It will be used mainly for hotplug code. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_eal/bsdapp/eal/eal_pci.c | 49 + lib/librte_eal/common/eal_common_

[dpdk-dev] [PATCH v5 12/17] pci: add a helper for device name

2016-06-22 Thread Shreyansh Jain
eal is a better place than crypto / ethdev for naming resources. Add a helper in eal and make use of it in crypto / ethdev. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_cryptodev/rte_cryptodev.c| 27 --- lib/librte_eal/common/include/rte

[dpdk-dev] [PATCH v5 11/17] eal/linux: move back interrupt thread init before setting affinity

2016-06-22 Thread Shreyansh Jain
Now that virtio pci driver is initialized in a constructor, iopl() stuff happens early enough so that interrupt thread can be created right after plugin loading. This way, chelsio driver should be happy again [1]. [1] http://dpdk.org/ml/archives/dev/2015-November/028289.html Signed-off-by: David

[dpdk-dev] [PATCH v5 10/17] ethdev: get rid of eth driver register callback

2016-06-22 Thread Shreyansh Jain
Now that all pdev are pci drivers, we don't need to register ethdev drivers through a dedicated channel. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_ether/rte_ethdev.c | 22 -- lib/librte_ether/rte_ethdev.h | 12

[dpdk-dev] [PATCH v5 09/17] crypto: get rid of crypto driver register callback

2016-06-22 Thread Shreyansh Jain
Now that all pdev are pci drivers, we don't need to register crypto drivers through a dedicated channel. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_cryptodev/rte_cryptodev.c | 22 --- lib/librte_cryptodev/rte_cryptodev_pmd.h | 30 -

[dpdk-dev] [PATCH v5 08/17] drivers: convert all pdev drivers as pci drivers

2016-06-22 Thread Shreyansh Jain
Simplify crypto and ethdev pci drivers init by using newly introduced init macros and helpers. Those drivers then don't need to register as "rte_driver"s anymore. virtio and mlx* drivers use the general purpose RTE_INIT macro, as they both need some special stuff to be done before registering a pc

[dpdk-dev] [PATCH v5 07/17] ethdev: export init/uninit common wrappers for pci drivers

2016-06-22 Thread Shreyansh Jain
Preparing for getting rid of eth_drv, here are two wrappers that can be used by pci drivers that assume a 1 to 1 association between pci resource and upper interface. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_ether/rte_ethdev.c | 14 +++--- lib/

[dpdk-dev] [PATCH v5 06/17] crypto: export init/uninit common wrappers for pci drivers

2016-06-22 Thread Shreyansh Jain
Preparing for getting rid of rte_cryptodev_driver, here are two wrappers that can be used by pci drivers that assume a 1 to 1 association between pci resource and upper interface. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_cryptodev/rte_cryptodev.c | 16

[dpdk-dev] [PATCH v5 05/17] eal: introduce init macros

2016-06-22 Thread Shreyansh Jain
Introduce a RTE_INIT macro used to mark an init function as a constructor. Current eal macros have been converted to use this (no functional impact). RTE_EAL_PCI_REGISTER is added as a helper for pci drivers. Suggested-by: Jan Viktorin Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain

[dpdk-dev] [PATCH v5 04/17] eal: remove duplicate function declaration

2016-06-22 Thread Shreyansh Jain
rte_eal_dev_init is declared in both eal_private.h and rte_dev.h since its introduction. This function has been exported in ABI, so remove it from eal_private.h Fixes: e57f20e05177 ("eal: make vdev init path generic for both virtual and pci devices") Signed-off-by: David Marchand Signed-off-by:

[dpdk-dev] [PATCH v5 03/17] drivers: align pci driver definitions

2016-06-22 Thread Shreyansh Jain
Pure coding style, but it might make it easier later if we want to move fields in rte_cryptodev_driver and eth_driver structures. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- drivers/crypto/qat/rte_qat_cryptodev.c | 2 +- drivers/net/ena/ena_ethdev.c | 2 +- drivers

[dpdk-dev] [PATCH v5 02/17] crypto: no need for a crypto pmd type

2016-06-22 Thread Shreyansh Jain
This information is not used and just adds noise. Signed-off-by: David Marchand Signed-off-by: Shreyansh Jain --- lib/librte_cryptodev/rte_cryptodev.c | 8 +++- lib/librte_cryptodev/rte_cryptodev.h | 2 -- lib/librte_cryptodev/rte_cryptodev_pmd.h | 3 +-- 3 files changed, 4 insertio

[dpdk-dev] [PATCH v5 01/17] pci: no need for dynamic tailq init

2016-06-22 Thread Shreyansh Jain
These lists can be initialized once and for all at build time. With this, those lists are only manipulated in a common place (and we could even make them private). A nice side effect is that pci drivers can now register in constructors. Signed-off-by: David Marchand Reviewed-by: Jan Viktorin Si

[dpdk-dev] [PATCH v5 00/17] Prepare for rte_device / rte_driver

2016-06-22 Thread Shreyansh Jain
* Original patch series is from David Marchand [1], [2]. * Cover letter text has been modified to make it author agnostic David created the original patchset based on the discussions on list [3]. Being a large piece of work, this patchset introduces first level of changes for generalizing the driv

[dpdk-dev] [PATCH] port: fix build when KNI support is not enabled

2016-06-22 Thread Panu Matilainen
Commit 9fc37d1c071c is missing a conditional in the dependencies, causing builds to fail when KNI is not enabled: == Build lib/librte_port LD librte_port.so.3 /usr/bin/ld: cannot find -lrte_kni collect2: error: ld returned 1 exit status Fixes: 9fc37d1c071c ("port: support KNI")

[dpdk-dev] [dpdk-users] Get interface speed through IOCTL

2016-06-22 Thread Thomas Monjalon
2016-06-22 17:49, Gadre Nayan: > I need to get the interface speed though standard IOCTL call: [...] > > However, for 10G interface I do not read a correct speed, since it may > not be supported. Yes > Out 1G cards are I350 and 10G card is I40. [...] > There is no support for 1base. So to ge

[dpdk-dev] librte_meter compilation fails on IBM Power8

2016-06-22 Thread Nélio Laranjeiro
Hi Cristian, Chao, I have encountered a compilation failure on IBM Power8 when compiling master branch with EXTRA_CFLAGS='-O0 -g': /root/nl/dpdk.org/build/lib/librte_meter.a(rte_meter.o): In function `rte_meter_get_tb_params': /root/nl/dpdk.org/lib/librte_meter/rte_meter.c:57: undefined refe

[dpdk-dev] segfault in vt_pci_init

2016-06-22 Thread Thomas F Herbert
All, I am trying to debug a problem: I am running testpmd in a VM. The stack trace is below. Running uio_pci_generic. kvm-qemu 2.5.3, Centos 7 CentOS Linux release 7.2.1511 (Core) Problem can be reproduced using either igb_uio or virtio_pci kernel drivers. Currently running 3.18.35 kernel bu

[dpdk-dev] [PATCH] port: fix build when KNI support is not enabled

2016-06-22 Thread Thomas Monjalon
2016-06-22 13:57, Olivier Matz: > Hi Thomas, > > On 06/22/2016 01:49 PM, Thomas Monjalon wrote: > > 2016-06-22 14:34, Panu Matilainen: > >> --- a/lib/librte_port/Makefile > >> +++ b/lib/librte_port/Makefile > >> @@ -82,6 +82,8 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool > >> DEPDIR

[dpdk-dev] [PATCH] port: fix build when KNI support is not enabled

2016-06-22 Thread Olivier Matz
Hi Thomas, On 06/22/2016 01:49 PM, Thomas Monjalon wrote: > 2016-06-22 14:34, Panu Matilainen: >> --- a/lib/librte_port/Makefile >> +++ b/lib/librte_port/Makefile >> @@ -82,6 +82,8 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool >> DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ether

[dpdk-dev] [PATCH] port: fix build when KNI support is not enabled

2016-06-22 Thread Thomas Monjalon
2016-06-22 14:34, Panu Matilainen: > --- a/lib/librte_port/Makefile > +++ b/lib/librte_port/Makefile > @@ -82,6 +82,8 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool > DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ether > DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ip_frag > DEP

[dpdk-dev] [PATCH v6 1/4] lib/librte_ether: support device reset

2016-06-22 Thread Jerin Jacob
On Wed, Jun 22, 2016 at 06:42:43AM +, Lu, Wenzhuo wrote: > Hi Jerin, > > > > -Original Message- > > From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com] > > Sent: Wednesday, June 22, 2016 2:10 PM > > To: Lu, Wenzhuo > > Cc: Ananyev, Konstantin; Stephen Hemminger; dev at dpdk.o

[dpdk-dev] [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types

2016-06-22 Thread Jerin Jacob
On Wed, Jun 22, 2016 at 08:43:52AM +0200, Thomas Monjalon wrote: > 2016-06-22 09:00, Jerin Jacob: > > On Tue, Jun 21, 2016 at 11:02:59PM +0200, Thomas Monjalon wrote: > > > Hi Jerin, > > > > Hi Thomas, > > > > > > > > I wanted to push this patch which is now a dependency of ThunderX > > > but I

[dpdk-dev] [PATCH 3/3] app/pdump: fix string overflow

2016-06-22 Thread Anupam Kapoor
> if (!strcmp(key, PDUMP_RX_DEV_ARG)) { > - strncpy(pt->rx_dev, value, strlen(value)); > + strncpy(pt->rx_dev, value, sizeof(pt->rx_dev)-1); I guess size-1 is to give room for terminating null byte, but for this case is it guarantied that pt->rx_dev last byte is NULL?

[dpdk-dev] regarding coverity-scan-id : 127350

2016-06-22 Thread Anupam Kapoor
hi, i just looked at the CID: 127350 which raises a STRING_OVERFLOW bug for pdump_prepare_client_request(...) callers of pdump_prepare_client_request(...) pass 'device' parameter which is always of DEVICE_ID_SIZE (64) bytes long. hence it is not possible to overflow pdump_request.data.en_v1.devic

[dpdk-dev] [PATCH v6 1/4] lib/librte_ether: support device reset

2016-06-22 Thread Jerin Jacob
On Wed, Jun 22, 2016 at 05:05:14AM +, Lu, Wenzhuo wrote: > > > > -Original Message- > > From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com] > > Sent: Wednesday, June 22, 2016 12:15 PM > > To: Lu, Wenzhuo > > Cc: Ananyev, Konstantin; Stephen Hemminger; dev at dpdk.org; Richard

[dpdk-dev] [PATCH v3 00/25] Refactor mlx5 to improve performance

2016-06-22 Thread Adrien Mazarguil
On Wed, Jun 22, 2016 at 10:19:14AM +0100, Bruce Richardson wrote: > On Wed, Jun 22, 2016 at 10:20:54AM +0200, Adrien Mazarguil wrote: > > On Tue, Jun 21, 2016 at 05:42:29PM +0100, Ferruh Yigit wrote: > > > On 6/21/2016 8:23 AM, Nelio Laranjeiro wrote: > > > > Enhance mlx5 with a data path that bypa

[dpdk-dev] [PATCH v6 1/4] lib/librte_ether: support device reset

2016-06-22 Thread Thomas Monjalon
2016-06-22 08:25, Lu, Wenzhuo: > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > 2016-06-22 13:29, Jerin Jacob: > > > Thomas, > > > As a librte_ether maintainer any comments on this? > > > > +1 for adding details and make sure naming is good. > > I don't really need to comment here

[dpdk-dev] [PATCH v4 25/25] mlx5: resurrect Rx scatter support

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil This commit brings back Rx scatter and related support by the MTU update function. The maximum number of segments per packet is not a fixed value anymore (previously MLX5_PMD_SGE_WR_N, set to 4 by default) as it caused performance issues when fewer segments were actually ne

[dpdk-dev] [PATCH v4 24/25] mlx5: make Rx queue reinitialization safer

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil The primary purpose of rxq_rehash() function is to stop and restart reception on a queue after re-posting buffers. This may fail if the array that temporarily stores existing buffers for reuse cannot be allocated. Update rxq_rehash() to work on the target queue directly (n

[dpdk-dev] [PATCH v4 23/25] mlx5: remove redundant Rx queue initialization code

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil Toggling RX checksum offloads is already done at initialization time. This code does not belong in rxq_rehash(). Signed-off-by: Adrien Mazarguil Signed-off-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_rxq.c | 10 -- 1 file changed, 10 deletions(-) diff --git

[dpdk-dev] [PATCH v4 22/25] mlx5: work around spurious compilation errors

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil Since commit "mlx5: resurrect Tx gather support", older GCC versions (such as 4.8.5) may complain about the following: mlx5_rxtx.c: In function `mlx5_tx_burst': mlx5_rxtx.c:705:25: error: `wqe' may be used uninitialized in this function [-Werror=maybe-uninitialized]

[dpdk-dev] [PATCH v4 21/25] mlx5: resurrect Tx gather support

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil Compared to its previous incarnation, the software limit on the number of mbuf segments is no more (previously MLX5_PMD_SGE_WR_N, set to 4 by default) hence no need for linearization code and related buffers that permanently consumed a non negligible amount of memory to han

[dpdk-dev] [PATCH v4 20/25] mlx5: check remaining space while processing Tx burst

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil The space necessary to store segmented packets cannot be known in advance and must be verified for each of them. Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_rxtx.c | 136 ++- 1 file changed, 70 insertions(+), 66 delet

[dpdk-dev] [PATCH v4 19/25] mlx5: add debugging information about Tx queues capabilities

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_txq.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index 4f17fb0..bae9f3d 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_t

[dpdk-dev] [PATCH v4 18/25] mlx5: add support for multi-packet send

2016-06-22 Thread Nelio Laranjeiro
This feature enables the TX burst function to emit up to 5 packets using only two WQEs on devices that support it. Saves PCI bandwidth and improves performance. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil Signed-off-by: Olga Shern --- doc/guides/nics/mlx5.rst | 10 ++

[dpdk-dev] [PATCH v4 17/25] mlx5: add support for inline send

2016-06-22 Thread Nelio Laranjeiro
From: Yaacov Hazan Implement send inline feature which copies packet data directly into WQEs for improved latency. The maximum packet size and the minimum number of Tx queues to qualify for inline send are user-configurable. This feature is effective when HW causes a performance bottleneck. Sig

[dpdk-dev] [PATCH v4 16/25] mlx5: replace countdown with threshold for Tx completions

2016-06-22 Thread Nelio Laranjeiro
From: Adrien Mazarguil Replacing the variable countdown (which depends on the number of descriptors) with a fixed relative threshold known at compile time improves performance by reducing the TX queue structure footprint and the amount of code to manage completions during a burst. Completions ar

[dpdk-dev] [PATCH v4 15/25] mlx5: handle Rx CQE compression

2016-06-22 Thread Nelio Laranjeiro
Mini (compressed) CQEs are returned by the NIC when PCI back pressure is detected, in which case the first CQE64 contains common packet information followed by a number of CQE8 providing the rest, followed by a matching number of empty CQE64 entries to be used by software for decompression. Before

[dpdk-dev] [PATCH v4 14/25] mlx5: refactor Tx data path

2016-06-22 Thread Nelio Laranjeiro
Bypass Verbs to improve Tx performance. Signed-off-by: Nelio Laranjeiro Signed-off-by: Yaacov Hazan Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/Makefile | 5 - drivers/net/mlx5/mlx5_ethdev.c | 10 +- drivers/net/mlx5/mlx5_mr.c | 4 +- drivers/net/mlx5/mlx5_rxtx.c | 359

[dpdk-dev] [PATCH v4 13/25] mlx5: refactor Rx data path

2016-06-22 Thread Nelio Laranjeiro
Bypass Verbs to improve RX performance. Signed-off-by: Nelio Laranjeiro Signed-off-by: Yaacov Hazan Signed-off-by: Adrien Mazarguil Signed-off-by: Vasily Philipov --- drivers/net/mlx5/mlx5_ethdev.c | 4 +- drivers/net/mlx5/mlx5_fdir.c | 2 +- drivers/net/mlx5/mlx5_rxq.c| 303 +++

[dpdk-dev] [PATCH v4 12/25] mlx5: add Tx/Rx burst function selection wrapper

2016-06-22 Thread Nelio Laranjeiro
These wrappers are meant to prevent code duplication later. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5.h| 2 ++ drivers/net/mlx5/mlx5_ethdev.c | 34 -- drivers/net/mlx5/mlx5_txq.c| 2 +- 3 files changed

[dpdk-dev] [PATCH v4 11/25] mlx5: add support for configuration through kvargs

2016-06-22 Thread Nelio Laranjeiro
The intent is to replace the remaining compile-time options and environment variables with a common mean of runtime configuration. This commit only adds the kvargs handling code, subsequent commits will update the rest. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- drivers

[dpdk-dev] [PATCH v4 10/25] mlx5: add definitions for data path without Verbs

2016-06-22 Thread Nelio Laranjeiro
These structures and macros extend those exposed by libmlx5 (in mlx5_hw.h) to let the PMD manage work queue and completion queue elements directly. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_prm.h | 163

[dpdk-dev] [PATCH v4 09/25] mlx5: update prerequisites for upcoming enhancements

2016-06-22 Thread Nelio Laranjeiro
The latest version of Mellanox OFED exposes hardware definitions necessary to implement data path operation bypassing Verbs. Update the minimum version requirement to MLNX_OFED >= 3.3 and clean up compatibility checks for previous releases. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Ma

[dpdk-dev] [PATCH v4 08/25] mlx5: split Rx queue structure

2016-06-22 Thread Nelio Laranjeiro
To keep the data path as efficient as possible, move fields only useful to the control path into new structure rxq_ctrl. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5.c | 6 +- drivers/net/mlx5/mlx5_fdir.c | 8 +- drivers/net/mlx5/mlx5_rxq.c

[dpdk-dev] [PATCH v4 07/25] mlx5: split Tx queue structure

2016-06-22 Thread Nelio Laranjeiro
To keep the data path as efficient as possible, move fields only useful to the control path into new structure txq_ctrl. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5.c| 21 +++-- drivers/net/mlx5/mlx5_ethdev.c | 28 +++--- drivers/net/mlx5/

[dpdk-dev] [PATCH v4 06/25] mlx5: remove inline Tx support

2016-06-22 Thread Nelio Laranjeiro
Inline TX will be fully managed by the PMD after Verbs is bypassed in the data path. Remove the current code until then. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- config/common_base | 1 - doc/guides/nics/mlx5.rst | 10 -- drivers/net/mlx5/Makefile

[dpdk-dev] [PATCH v4 05/25] mlx5: remove configuration variable

2016-06-22 Thread Nelio Laranjeiro
There is no scatter/gather support anymore, CONFIG_RTE_LIBRTE_MLX5_SGE_WR_N has no purpose and can be removed. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- config/common_base | 1 - doc/guides/nics/mlx5.rst | 7 --- drivers/net/mlx5/Makefile| 4

[dpdk-dev] [PATCH v4 04/25] mlx5: remove Rx scatter support

2016-06-22 Thread Nelio Laranjeiro
This is done in preparation of bypassing Verbs entirely for the data path as a performance improvement. RX scatter cannot be maintained during the transition and will be reimplemented later. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_ethdev.c | 31

[dpdk-dev] [PATCH v4 03/25] mlx5: remove Tx gather support

2016-06-22 Thread Nelio Laranjeiro
This is done in preparation of bypassing Verbs entirely for the data path as a performance improvement. TX gather cannot be maintained during the transition and will be reimplemented later. Signed-off-by: Nelio Laranjeiro Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_ethdev.c | 2

[dpdk-dev] [PATCH v4 02/25] mlx5: split memory registration function

2016-06-22 Thread Nelio Laranjeiro
Except for the first time when memory registration occurs, the lkey is always cached. Since memory registration is slow and performs system calls, performance can be improved by moving that code to its own function outside of the data path so only the lookup code is left in the original inlined fun

[dpdk-dev] [PATCH v4 01/25] drivers: fix PCI class id support

2016-06-22 Thread Nelio Laranjeiro
Fixes: 701c8d80c820 ("pci: support class id probing") Signed-off-by: Nelio Laranjeiro --- drivers/crypto/qat/rte_qat_cryptodev.c | 5 + drivers/net/mlx4/mlx4.c| 18 ++ drivers/net/mlx5/mlx5.c| 24 drivers/net/nfp/nfp_n

[dpdk-dev] [PATCH 00/25] Refactor mlx5 to improve performance

2016-06-22 Thread Nelio Laranjeiro
Enhance mlx5 with a data path that bypasses Verbs. The first half of this patchset removes support for functionality completely rewritten in the second half (scatter/gather, inline send), while the data path is refactored without Verbs. The PMD remains usable during the transition. This patchset

[dpdk-dev] [PATCH v3] i40e: fix the type issue of a single VLAN type

2016-06-22 Thread Beilei Xing
In current i40e codebase, if single VLAN header is added in a packet, it's treated as inner VLAN. Generally, a single VLAN header is treated as the outer VLAN header. So change corresponding register for single VLAN. Fixes: 19b16e2f6442 ("ethdev: add vlan type when setting ether type") Signed-off

[dpdk-dev] [PATCH v16 3/3] mbuf: make default mempool ops configurable at build

2016-06-22 Thread David Hunt
By default, the mempool ops used for mbuf allocations is a multi producer and multi consumer ring. We could imagine a target (maybe some network processors?) that provides an hardware-assisted pool mechanism. In this case, the default configuration for this architecture would contain a different va

[dpdk-dev] [PATCH v16 2/3] app/test: test mempool handler

2016-06-22 Thread David Hunt
Create a minimal custom mempool handler and check that it passes basic mempool autotests. Signed-off-by: Olivier Matz Signed-off-by: David Hunt Reviewed-by: Jan Viktorin Acked-by: Shreyansh Jain Acked-by: Olivier Matz --- app/test/test_mempool.c | 122

[dpdk-dev] [PATCH v16 1/3] mempool: support mempool handler operations

2016-06-22 Thread David Hunt
Until now, the objects stored in a mempool were internally stored in a ring. This patch introduces the possibility to register external handlers replacing the ring. The default behavior remains unchanged, but calling the new function rte_mempool_set_ops_byname() right after rte_mempool_create_empt

[dpdk-dev] [PATCH v16 0/3] mempool: add mempool handler feature

2016-06-22 Thread David Hunt
Here's the latest version of the Mempool Handler patch set. It's re-based on top of the latest head as of 20/6/2016, including Olivier's 35-part patch series on mempool re-org [1] [1] http://dpdk.org/ml/archives/dev/2016-May/039229.html v16 changes: * Changed rte_mempool_ops_get() to rte_mempoo

[dpdk-dev] [PATCH v3 1/2] ethdev: add callback to get register size in bytes

2016-06-22 Thread Thomas Monjalon
2016-06-22 10:19, Zyta Szpak: > Note that if we remove rte_eth_dev_get_reg_length() then it will break > all of the drivers that implement it. Shall I remove it all leave it and > modify only ethtool to use rte_eth_dev_get_regs() to get reg size? In > the end the drivers will have to implement t

[dpdk-dev] [PATCH 3/3] app/pdump: fix string overflow

2016-06-22 Thread Bruce Richardson
On Wed, Jun 22, 2016 at 12:16:27PM +0530, Anupam Kapoor wrote: > > if (!strcmp(key, PDUMP_RX_DEV_ARG)) { > > - strncpy(pt->rx_dev, value, strlen(value)); > > + strncpy(pt->rx_dev, value, sizeof(pt->rx_dev)-1); > > I guess size-1 is to give room for terminating null by

[dpdk-dev] [PATCH v3 00/25] Refactor mlx5 to improve performance

2016-06-22 Thread Adrien Mazarguil
On Tue, Jun 21, 2016 at 05:42:29PM +0100, Ferruh Yigit wrote: > On 6/21/2016 8:23 AM, Nelio Laranjeiro wrote: > > Enhance mlx5 with a data path that bypasses Verbs. > > > > The first half of this patchset removes support for functionality completely > > rewritten in the second half (scatter/gather

[dpdk-dev] [PATCH v3 00/25] Refactor mlx5 to improve performance

2016-06-22 Thread Bruce Richardson
On Wed, Jun 22, 2016 at 10:20:54AM +0200, Adrien Mazarguil wrote: > On Tue, Jun 21, 2016 at 05:42:29PM +0100, Ferruh Yigit wrote: > > On 6/21/2016 8:23 AM, Nelio Laranjeiro wrote: > > > Enhance mlx5 with a data path that bypasses Verbs. > > > > > > The first half of this patchset removes support f

[dpdk-dev] [PATCH v3 1/2] ethdev: add callback to get register size in bytes

2016-06-22 Thread Zyta Szpak
Note that if we remove rte_eth_dev_get_reg_length() then it will break all of the drivers that implement it. Shall I remove it all leave it and modify only ethtool to use rte_eth_dev_get_regs() to get reg size? In the end the drivers will have to implement the part of setting the size in reg_in

[dpdk-dev] [PATCH v6 1/4] lib/librte_ether: support device reset

2016-06-22 Thread Thomas Monjalon
2016-06-22 13:29, Jerin Jacob: > Thomas, > As a librte_ether maintainer any comments on this? +1 for adding details and make sure naming is good. I don't really need to comment here because I have already done this comment earlier: http://dpdk.org/ml/archives/dev/2016-June/041845.html Than

[dpdk-dev] [PATCH v15 0/3] mempool: add mempool handler feature

2016-06-22 Thread Thomas Monjalon
2016-06-22 09:56, Thomas Monjalon: > 2016-06-19 13:05, David Hunt: > > v15 changes: > > > > * Changed rte_mempool_ops_get() to rte_mempool_get_ops() > > I don't find this change in the patch. > But I wonder wether it is really needed. If we assume that rte_mempool_ops_* are wrappers on top of h

[dpdk-dev] [PATCH v15 0/3] mempool: add mempool handler feature

2016-06-22 Thread Thomas Monjalon
2016-06-19 13:05, David Hunt: > v15 changes: > > * Changed rte_mempool_ops_get() to rte_mempool_get_ops() I don't find this change in the patch. But I wonder wether it is really needed.

[dpdk-dev] [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types

2016-06-22 Thread Thomas Monjalon
2016-06-22 12:45, Jerin Jacob: > On Wed, Jun 22, 2016 at 08:43:52AM +0200, Thomas Monjalon wrote: > > 2016-06-22 09:00, Jerin Jacob: > > > On Tue, Jun 21, 2016 at 11:02:59PM +0200, Thomas Monjalon wrote: > > > > 2016-03-31 02:21, Jerin Jacob: > > > > > +#define RTE_ETH_FLOW_PORT 18 >

[dpdk-dev] [PATCH v6 1/4] lib/librte_ether: support device reset

2016-06-22 Thread Jerin Jacob
On Wed, Jun 22, 2016 at 03:32:16AM +, Lu, Wenzhuo wrote: > Hi Jerin, > > > -Original Message- > > From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com] > > Sent: Wednesday, June 22, 2016 10:38 AM > > To: Lu, Wenzhuo > > Cc: Ananyev, Konstantin; Stephen Hemminger; dev at dpdk.org

[dpdk-dev] [PATCH v3 11/25] mlx5: add support for configuration through kvargs

2016-06-22 Thread Nélio Laranjeiro
On Tue, Jun 21, 2016 at 05:42:42PM +0100, Ferruh Yigit wrote: > On 6/21/2016 8:23 AM, Nelio Laranjeiro wrote: > > The intent is to replace the remaining compile-time options and environment > > variables with a common mean of runtime configuration. This commit only > > adds the kvargs handling code

[dpdk-dev] [PATCH v5 10/17] ethdev: get rid of eth driver register callback

2016-06-22 Thread Neil Horman
On Wed, Jun 22, 2016 at 02:36:29PM +0530, Shreyansh Jain wrote: > Now that all pdev are pci drivers, we don't need to register ethdev drivers > through a dedicated channel. > > Signed-off-by: David Marchand > Signed-off-by: Shreyansh Jain > --- > lib/librte_ether/rte_ethdev.c | 22

  1   2   >