Re: [dpdk-dev] [PATCH v3 03/12] event/octeontx: add support to create and free timer adapter

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:05 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 03/12] event/octeontx: add support t

Re: [dpdk-dev] [PATCH v3 04/12] event/octeontx: add support to start and stop timer device

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:06 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 04/12] event/octeontx: add support t

Re: [dpdk-dev] [PATCH v3 05/12] event/octeontx: add event timer stats get and reset

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:07 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 05/12] event/octeontx: add event tim

Re: [dpdk-dev] [PATCH v3 06/12] event/octeontx: add multiproducer timer arm and cancel

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:08 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 06/12] event/octeontx: add multiprod

Re: [dpdk-dev] [PATCH v3 08/12] event/octeontx: add burst mode for timer arm

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:10 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 08/12] event/octeontx: add burst mod

Re: [dpdk-dev] [PATCH v3 09/12] event/octeontx: optimize timer adapter resolution parameters

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:11 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 09/12] event/octeontx: optimize time

Re: [dpdk-dev] [PATCH v3 11/12] doc: update eventdev OcteonTx documentation

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:13 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 11/12] doc: update eventdev OcteonTx

Re: [dpdk-dev] [PATCH v3 12/12] maintainers: claim responsibility for octeontx timvf

2018-04-08 Thread Jerin Jacob
-Original Message- > Date: Tue, 3 Apr 2018 20:35:14 +0530 > From: Pavan Nikhilesh > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > erik.g.carri...@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 12/12] maintainers: claim responsibi

Re: [dpdk-dev] [PATCH v4 0/3] net/mlx5: use Netlink in VF mode

2018-04-08 Thread Shahaf Shuler
Thursday, April 5, 2018 6:07 PM, Nelio Laranjeiro: > Subject: [dpdk-dev] [PATCH v4 0/3] net/mlx5: use Netlink in VF mode > > When MLX5 behaves in VF mode and the hypervisor have **trusted** this > VF, to be able to receive specific traffic some requests must be done to > configure the NIC. There

Re: [dpdk-dev] [PATCH] doc: add timestamp offload for mlx5 to features table

2018-04-08 Thread Shahaf Shuler
Thursday, April 5, 2018 6:50 PM, Adrien Mazarguil: > Subject: Re: [dpdk-dev] [PATCH] doc: add timestamp offload for mlx5 to > features table > > For completeness: > > Fixes: 78c7406b7b5a ("net/mlx5: add Rx HW timestamp") > Cc: sta...@dpdk.org > > On Mon, Apr 02, 2018 at 10:01:22AM -0700, Yongseo

Re: [dpdk-dev] [PATCH v3 00/12] event/octeontx: add event timer adapter driver

2018-04-08 Thread Pavan Nikhilesh
Hi Jerin, On Sun, Apr 08, 2018 at 08:25:35AM +0530, Jerin Jacob wrote: > -Original Message- > > Date: Tue, 3 Apr 2018 20:35:02 +0530 > > From: Pavan Nikhilesh > > To: jerin.ja...@caviumnetworks.com, santosh.shu...@caviumnetworks.com, > > erik.g.carri...@intel.com > > Cc: dev@dpdk.org, P

[dpdk-dev] [PATCH v5] vhost: add support for interrupt mode

2018-04-08 Thread Junjie Chen
In some cases we want vhost dequeue work in interrupt mode to release cpus to others when no data to transmit. So we install interrupt handler of vhost device and interrupt vectors for each rx queue when creating new backend according to vhost intrerupt configuration. Thus, applications could regis

[dpdk-dev] [PATCH v4 0/4] support Tx generic tunnel checksum and TSO

2018-04-08 Thread Xueming Li
V4: - Removed DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM and DEV_TX_OFFLOAD_GENERIC_TNL_TSO - Replaced with DEV_TX_OFFLOAD_IP_TNL_TSO - Removed PKT_TX_OUTER_UDP - Splited PKT_TX_TUNNEL_UNKNOWN into PKT_TX_TUNNEL_IP and PKT_TX_TUNNEL_UDP V3: - Add VXLAN-GPE and GRE extention support to testpmd csum forwardi

[dpdk-dev] [PATCH v4 4/4] app/testpmd: introduce VXLAN GPE to csum forwarding engine

2018-04-08 Thread Xueming Li
This patch introduced VXLAN-GPE support to csum forwarding engine by recognizing VXLAN-GPE UDP port and parsing tunnel payload according to next-protocol type. Signed-off-by: Xueming Li --- app/test-pmd/csumonly.c | 96 +-- app/test-pmd/parameters.c

[dpdk-dev] [PATCH v4 2/4] app/testpmd: testpmd support Tx generic tunnel offloads

2018-04-08 Thread Xueming Li
"show port cap" and "csum parse tunnel" command support TX generic tunnel offloads Signed-off-by: Xueming Li --- app/test-pmd/cmdline.c | 14 -- app/test-pmd/config.c | 17 + app/test-pmd/csumonly.c | 3 ++- 3 files changed, 31 insertions(+), 3 deletions(-) diff

[dpdk-dev] [PATCH v4 3/4] app/testpmd: add more GRE extension to csum engine

2018-04-08 Thread Xueming Li
This patch adds GRE checksum and sequence extension supports in addtion to key extension to csum forwarding engine. Signed-off-by: Xueming Li --- app/test-pmd/csumonly.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/test-p

[dpdk-dev] [PATCH v4 1/4] ethdev: introduce generic IP/UDP tunnel checksum and TSO

2018-04-08 Thread Xueming Li
This patch introduce new TX offload flags for device that supports IP or UDP tunneled packet L3/L4 checksum and TSO offload. The support from the device is for inner and outer checksums on IPV4/TCP/UDP and TSO for *any packet with the following format*: / [optional IPv4/IPv6] / [optional TCP/UDP

[dpdk-dev] [PATCH 0/3] mlx5 support Tx generic tunnel checksum and TSO

2018-04-08 Thread Xueming Li
This patchset introduced Tx generic tunnel checksum and TSO offload to mlx5 PMD. This patchset relies on new ethdev API of: http://www.dpdk.org/dev/patchwork/patch/37519/ Xueming Li (3): net/mlx5: separate TSO function in Tx data path net/mlx5: support generic tunnel offloading net/

[dpdk-dev] [PATCH 2/3] net/mlx5: support generic tunnel offloading

2018-04-08 Thread Xueming Li
This commit adds support for generic tunnel TSO and checksum offload. PMD will compute the inner/outer headers offset according to the mbuf fields. Hardware will do calculation based on offsets and types. Signed-off-by: Xueming Li --- drivers/net/mlx5/Makefile | 5 ++ drivers/net/m

[dpdk-dev] [PATCH 1/3] net/mlx5: separate TSO function in Tx data path

2018-04-08 Thread Xueming Li
Separate TSO function to make logic of mlx5_tx_burst clear. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_rxtx.c | 112 ++- 1 file changed, 67 insertions(+), 45 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c in

[dpdk-dev] [PATCH 3/3] net/mlx5: allow max 192B TSO inline header length

2018-04-08 Thread Xueming Li
Change max inline header length to 192B to allow IPv6 VXLAN TSO headers and header with options that more than 128B. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_defs.h b/drivers/net/mlx5/mlx5

[dpdk-dev] [PATCH v4 01/13] compressdev: add basic device management

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Add basic functions to manage compress devices, including driver and device allocation, and the basic interface with compressdev PMDs. Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- MAINTAINERS

[dpdk-dev] [PATCH v4 00/13] Implement compression API

2018-04-08 Thread Pablo de Lara
With the vast amounts of data being transported around networks and stored in storage systems, reducing data size is becoming ever more important. There are both software libraries and hardware devices available that provide compression, but no common API. Such an API is proposed in this patchset

[dpdk-dev] [PATCH v4 02/13] compressdev: add queue pair management

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Add functions to manage device queue pairs. Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librte_compressdev/rte_compressdev.c | 135 + lib/librte_compressdev/rte_compre

[dpdk-dev] [PATCH v4 07/13] compressdev: support stateful operations

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Added stream data (stream) in compression operation, which will contain the private data from each PMD to support stateful operations. Also, added functions to create/free this data. Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-o

[dpdk-dev] [PATCH v4 08/13] compressdev: support hash operations

2018-04-08 Thread Pablo de Lara
From: Shally Verma - Added hash algo enumeration and params in xform and rte_comp_op - Updated compress/decompress xform to input hash algorithm - Updated struct rte_comp_op to input hash buffer User in capability query will know about support hashes via device info comp_feature_flag. If support

[dpdk-dev] [PATCH v4 05/13] compressdev: add operation management

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Added functions to allocate and free compression operations. Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librte_compressdev/rte_comp.h | 195 + lib/librte_compr

[dpdk-dev] [PATCH v4 06/13] compressdev: support stateless operations

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Added private transform data (priv_xform) in compression operation, which will contain the private data from each PMD to support stateless operations. Also, added functions to create/free this data. Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally

[dpdk-dev] [PATCH v4 03/13] compressdev: add compression specific data

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Added structures and enums specific to compression, including the compression operation structure and the different supported algorithms, checksums and compression levels. Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashi

[dpdk-dev] [PATCH v4 04/13] compressdev: add enqueue/dequeue functions

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librte_compressdev/rte_compressdev.h | 121 +++ 1 file changed, 121 insertions(+) diff --git a/lib/librte_compressdev/rte_com

[dpdk-dev] [PATCH v4 09/13] compressdev: add device feature flags

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librte_compressdev/rte_compressdev.c | 21 ++ lib/librte_compressdev/rte_compressdev.h | 33 ++ lib/li

[dpdk-dev] [PATCH v4 12/13] compressdev: add device capabilities

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Added structure which each PMD will fill out, providing the capabilities of each driver (containing mainly which compression services it supports). Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librt

[dpdk-dev] [PATCH v4 10/13] compressdev: add compression service feature flags

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librte_compressdev/rte_compressdev.c | 31 +++ lib/librte_compressdev/rte_compressdev.h | 45 ++ lib/l

[dpdk-dev] [PATCH v4 13/13] compressdev: get device id from name

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Added API to retrieve the device id provided the device name. Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librte_compressdev/rte_compressdev.c | 18 ++ lib/librte_compress

[dpdk-dev] [PATCH v4 11/13] compressdev: add device stats

2018-04-08 Thread Pablo de Lara
From: Fiona Trahe Signed-off-by: Fiona Trahe Signed-off-by: Pablo de Lara Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- lib/librte_compressdev/rte_compressdev.c | 41 ++ lib/librte_compressdev/rte_compressdev.h | 39

Re: [dpdk-dev] [PATCH] net/mlx5: fix link status initialization

2018-04-08 Thread Shahaf Shuler
Thursday, April 5, 2018 9:51 AM, Nélio Laranjeiro: > Subject: Re: [PATCH] net/mlx5: fix link status initialization > > On Thu, Apr 05, 2018 at 05:35:57AM +, Shahaf Shuler wrote: > > Wednesday, April 4, 2018 3:11 PM, Nélio Laranjeiro: > > > Subject: Re: [PATCH] net/mlx5: fix link status initial

[dpdk-dev] [PATCH] [pktgen] [PATCH] Ignore the enable range cmd when sending packets

2018-04-08 Thread Bing Zhao
When using "enable [ports] range" command to enable the range sending feature, the code will only set the "SEND_RANGE_PKTS" without any "CLEAR_FAST_ALLOC_FLAG" (belongs to "start" command). If the enable actiong is done when no packets are sending, everything will be OK. But when sending packets

[dpdk-dev] [PATCH v2 0/5] Initial compressdev unit tests

2018-04-08 Thread Pablo de Lara
Added initial tests for Compressdev library. The tests are performed compressing a test buffer (or multiple test buffers) with compressdev or Zlib, and decompressing it/them with the other library (if compression is done with compressdev, decompression is done with Zlib, and viceversa). Tests add

[dpdk-dev] [PATCH v2 1/5] test/compress: add initial unit tests

2018-04-08 Thread Pablo de Lara
This commit introduces the initial tests for compressdev, performing basic compression and decompression operations of sample test buffers, using the Zlib library in one direction and compressdev in another direction, to make sure that the library is compatible with Zlib. Due to the use of Zlib AP

[dpdk-dev] [PATCH v2 2/5] test/compress: add multi op test

2018-04-08 Thread Pablo de Lara
Add test that checks if multiple operations with different buffers can be handled on a single enqueue call. Signed-off-by: Pablo de Lara --- test/test/test_compressdev.c | 476 +-- 1 file changed, 319 insertions(+), 157 deletions(-) diff --git a/test/test

[dpdk-dev] [PATCH v2 4/5] test/compress: add multi xform test

2018-04-08 Thread Pablo de Lara
Add test that checks if multiple xforms can be handled on a single enqueue call. Signed-off-by: Pablo de Lara --- test/test/test_compressdev.c | 261 --- 1 file changed, 193 insertions(+), 68 deletions(-) diff --git a/test/test/test_compressdev.c b/test/t

[dpdk-dev] [PATCH v2 3/5] test/compress: add multi level test

2018-04-08 Thread Pablo de Lara
Add test that checks if all compression levels are supported and compress a buffer correctly. Signed-off-by: Pablo de Lara --- test/test/test_compressdev.c | 33 + 1 file changed, 33 insertions(+) diff --git a/test/test/test_compressdev.c b/test/test/test_compres

[dpdk-dev] [PATCH v2 5/5] test/compress: add invalid configuration tests

2018-04-08 Thread Pablo de Lara
Add tests that check if device configuration is not successful when providing invalid parameters. Signed-off-by: Pablo de Lara --- test/test/test_compressdev.c | 49 +++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/test/test/test_compress

Re: [dpdk-dev] [PATCH] net/ixgbe: update data->eth_link status on start

2018-04-08 Thread Zhang, Helin
> -Original Message- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Zhang, Qi Z > Sent: Sunday, April 8, 2018 10:05 AM > To: Chas Williams; dev@dpdk.org > Cc: Lu, Wenzhuo; Ananyev, Konstantin; Charles (Chas) Williams > Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: update data->eth_li

Re: [dpdk-dev] [PATCH] bus/fslmc: support for hotplugging of memory

2018-04-08 Thread Burakov, Anatoly
On 05-Apr-18 3:14 PM, Shreyansh Jain wrote: Restructure VFIO DMA code for handling hotplug memory events (callbacks) and --legacy case. Signed-off-by: Shreyansh Jain --- ### This is based on the 16fbfef04a3 github repository. This is assuming that changes already exists as done in patch 26/68.

[dpdk-dev] [PATCH v4 05/70] test: add command to dump malloc heap contents

2018-04-08 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- test/test/commands.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/test/commands.c b/test/test/commands.c index cf0b726..6bfdc02 100644 --- a/test/test/commands.c +++ b/test/test/commands.c @@ -137,6 +137,8 @@ static void cmd_dump_parsed(void *pars

[dpdk-dev] [PATCH v4 02/70] eal: move all locking to heap

2018-04-08 Thread Anatoly Burakov
Down the line, we will need to do everything from the heap as any alloc or free may trigger alloc/free OS memory, which would involve growing/shrinking heap. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/malloc_elem.c | 16 ++-- lib/librte_eal/common/malloc_heap.c | 38 +++

[dpdk-dev] [PATCH v4 06/70] eal: make malloc_elem_join_adjacent_free public

2018-04-08 Thread Anatoly Burakov
Down the line, we will need to join free segments to determine whether the resulting contiguous free space is bigger than a page size, allowing to free some memory back to the system. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/malloc_elem.c | 6 +++--- lib/librte_eal/common/malloc_

[dpdk-dev] [PATCH v4 04/70] eal: add function to dump malloc heap contents

2018-04-08 Thread Anatoly Burakov
Malloc heap is now a doubly linked list, so it's now possible to iterate over each malloc element regardless of its state. Signed-off-by: Anatoly Burakov --- Notes: v3: mark function as experimental lib/librte_eal/common/include/rte_malloc.h | 10 ++ lib/librte_eal/common/malloc_el

[dpdk-dev] [PATCH v4 03/70] eal: make malloc heap a doubly-linked list

2018-04-08 Thread Anatoly Burakov
As we are preparing for dynamic memory allocation, we need to be able to handle holes in our malloc heap, hence we're switching to doubly linked list, and prepare infrastructure to support it. Since our heap is now aware where are our first and last elements, there is no longer any need to have a

[dpdk-dev] [PATCH v4 09/70] eal: replace panics with error messages in malloc

2018-04-08 Thread Anatoly Burakov
We shouldn't ever panic in system libraries, let alone in such core ones as EAL, so replace all panic messages with error messages. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/rte_malloc.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/com

[dpdk-dev] [PATCH v4 08/70] eal: make malloc free return resulting malloc element

2018-04-08 Thread Anatoly Burakov
This will be needed because we need to know how big is the new empty space, to check whether we can free some pages as a result. Signed-off-by: Anatoly Burakov --- Notes: v3: clarified commit message lib/librte_eal/common/malloc_elem.c | 4 ++-- lib/librte_eal/common/malloc_elem.h | 2 +-

[dpdk-dev] [PATCH v4 00/70] Memory Hotplug for DPDK

2018-04-08 Thread Anatoly Burakov
This patchset introduces dynamic memory allocation for DPDK (aka memory hotplug). Based upon RFC submitted in December [1]. Dependencies (to be applied in specified order): - EAL IOVA fix [2] Deprecation notices relevant to this patchset: - General outline of memory hotplug changes [3] The vast

[dpdk-dev] [PATCH v4 17/70] net/cxgbe: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimental API to build files

[dpdk-dev] [PATCH v4 12/70] ethdev: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. This fixes the following drivers in one go: grep -Rl rte_eth_dma_zone_reserve drivers/ drivers/net/avf/avf_rxtx.c drivers/net/thunderx/nicvf_ethdev.c drivers/net/e1000/igb_rxtx.c drivers/net/e1000/em_rxtx

[dpdk-dev] [PATCH v4 11/70] eal: enable reserving physically contiguous memzones

2018-04-08 Thread Anatoly Burakov
This adds a new flag to request reserved memzone to be IOVA contiguous. This is useful for allocating hardware resources like NIC rings/queues etc.For now, hugepage memory is always contiguous, but we need to prepare the drivers for the switch. Signed-off-by: Anatoly Burakov --- Notes: v4:

[dpdk-dev] [PATCH v4 15/70] net/bnx2x: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimental API to build files

[dpdk-dev] [PATCH v4 18/70] net/ena: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov Acked-by: Michal Krawczyk --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimenta

[dpdk-dev] [PATCH v4 13/70] crypto/qat: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Also, remove the weird page alignment code. Signed-off-by: Anatoly Burakov Acked-by: Fiona Trahe --- Notes: v4: - Replace new API with new memzone flag v3: - Move the patch earlier

[dpdk-dev] [PATCH v4 19/70] net/enic: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov Acked-by: John Daley --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimental API

[dpdk-dev] [PATCH v4 01/70] eal: move get_virtual_area out of linuxapp eal_memory.c

2018-04-08 Thread Anatoly Burakov
Move get_virtual_area out of linuxapp EAL memory and make it common to EAL, so that other code could reserve virtual areas as well. Signed-off-by: Anatoly Burakov --- Notes: v3: replace uint64_t with size_t for size variables lib/librte_eal/common/eal_common_memory.c | 101

[dpdk-dev] [PATCH v4 07/70] eal: make malloc free list remove public

2018-04-08 Thread Anatoly Burakov
We will need to be able to remove entries from free lists from heaps during certain events, such as rollbacks, or when freeing memory to the system (where a previously element disappears and thus can no longer be in the free list). Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/malloc_

[dpdk-dev] [PATCH v4 25/70] eal: add function to walk all memsegs

2018-04-08 Thread Anatoly Burakov
For code that might need to iterate over list of allocated segments, using this API will make it more resilient to internal API changes and will prevent copying the same iteration code over and over again. Additionally, down the line there will be locking implemented, so users of this API will not

[dpdk-dev] [PATCH v4 20/70] net/i40e: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimental API to build files

[dpdk-dev] [PATCH v4 27/70] bus/pci: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/bus/pci/Makefile| 3 +++ drivers/bus/pci/linux/pci.c | 26 ++ drivers/bus/pci/meson.build | 3 +++ 3 files changed, 20 insertions(+), 12 dele

[dpdk-dev] [PATCH v4 28/70] net/mlx5: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/net/mlx5/Makefile | 3 +++ drivers/net/mlx5/mlx5.c | 24 +++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/drivers/net/mlx5/Makef

[dpdk-dev] [PATCH v4 32/70] vfio/type1: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- lib/librte_eal/linuxapp/eal/eal_vfio.c | 45 -- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_vfi

[dpdk-dev] [PATCH v4 29/70] eal: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- lib/librte_eal/bsdapp/eal/eal.c | 25 +++- lib/librte_eal/common/eal_common_memory.c | 67 --- lib/librte_eal/common/malloc_heap.c

[dpdk-dev] [PATCH v4 21/70] net/qede: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov Acked-by: Harish Patil --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimental A

[dpdk-dev] [PATCH v4 10/70] eal: add backend support for contiguous allocation

2018-04-08 Thread Anatoly Burakov
No major changes, just add some checks in a few key places, and a new parameter to pass around. Also, add a function to check malloc element for physical contiguousness. For now, assume hugepage memory is always contiguous, while non-hugepage memory will be checked. Signed-off-by: Anatoly Burakov

[dpdk-dev] [PATCH v4 24/70] mempool: add support for the new allocation methods

2018-04-08 Thread Anatoly Burakov
If a user has specified that the zone should have contiguous memory, use the new _contig allocation API's instead of normal ones. Otherwise, account for the fact that unless we're in IOVA_AS_VA mode, we cannot guarantee that the pages would be physically contiguous, so we calculate the memzone size

[dpdk-dev] [PATCH v4 23/70] net/vmxnet3: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimental API to build files

[dpdk-dev] [PATCH v4 31/70] test: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- test/test/test_malloc.c | 40 +++- test/test/test_memory.c | 23 +++-- test/test/test_memzone.c | 53

[dpdk-dev] [PATCH v4 16/70] net/bnxt: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Added this driver to the list of modified

[dpdk-dev] [PATCH v4 39/70] crypto/dpaa_sec: use iova2virt instead of memseg iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/crypto/dpaa_sec/dpaa_sec.c | 11 +-- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dp

[dpdk-dev] [PATCH v4 30/70] mempool: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- lib/librte_mempool/Makefile | 3 +++ lib/librte_mempool/meson.build | 3 +++ lib/librte_mempool/rte_mempool.c | 24 3 files changed, 18 insertion

[dpdk-dev] [PATCH v4 14/70] net/avf: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov --- Notes: v4: - Use new memzone flag instead of new API - Remove experimental API from build files v3: - Add experimental API to build files

[dpdk-dev] [PATCH v4 33/70] vfio/spapr: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- lib/librte_eal/linuxapp/eal/eal_vfio.c | 108 +++-- 1 file changed, 63 insertions(+), 45 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_vfi

[dpdk-dev] [PATCH v4 43/70] net/mlx4: use virt2memseg instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/net/mlx4/mlx4_mr.c | 17 +++-- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/net/mlx4/mlx4_mr.c b/drivers/net/mlx4/mlx4_mr.c index 9a1

[dpdk-dev] [PATCH v4 41/70] bus/fslmc: use virt2memseg instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 14 -- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h b/drivers/bus/

[dpdk-dev] [PATCH v4 22/70] net/virtio: use contiguous allocation for DMA memory

2018-04-08 Thread Anatoly Burakov
All hardware drivers should allocate IOVA-contiguous memzones for their hardware resources. Signed-off-by: Anatoly Burakov Reviewed-by: Venkatesh Srinivas Reviewed-by: Maxime Coquelin --- Notes: v4: - Use new memzone flag instead of new API v3: - Moved patch earlier in the

[dpdk-dev] [PATCH v4 26/70] bus/fslmc: use memseg walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov Acked-by: Shreyansh Jain --- drivers/bus/fslmc/fslmc_vfio.c | 78 ++ 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/drivers/b

[dpdk-dev] [PATCH v4 40/70] eal: add virt2memseg function

2018-04-08 Thread Anatoly Burakov
This can be used as a virt2iova function that only looks up memory that is owned by DPDK (as opposed to doing pagemap walks). Using this will result in less dependency on internals of mem API. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/eal_common_memory.c | 37

[dpdk-dev] [PATCH v4 35/70] virtio: use memseg contig walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/net/virtio/virtio_user/vhost_kernel.c | 83 +++ 1 file changed, 35 insertions(+), 48 deletions(-) diff --git a/drivers/net/virtio/virtio_user/vhos

[dpdk-dev] [PATCH v4 44/70] net/mlx5: use virt2memseg instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/net/mlx5/mlx5_mr.c | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c index 2b

[dpdk-dev] [PATCH v4 34/70] eal: add contig walk function

2018-04-08 Thread Anatoly Burakov
This function is meant to walk over first segment of each VA-contiguous group of memsegs. For future users of this function, this is done so that there is less dependency on internals of mem API and less noise later change sets. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/eal_commo

[dpdk-dev] [PATCH v4 45/70] eal: use memzone walk instead of iteration

2018-04-08 Thread Anatoly Burakov
Simplify memzone dump code to use memzone walk, to not maintain the same memzone iteration code twice. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/eal_common_memzone.c | 42 +++--- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/librte_eal

[dpdk-dev] [PATCH v4 37/70] bus/dpaa: use iova2virt instead of memseg iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- Notes: v4: - Fixed usage of experimental API's v3: - Added this patch drivers/bus/dpaa/rte_dpaa_bus.h | 12 +--- drivers/mempool/dpaa/Makefile|

[dpdk-dev] [PATCH v4 36/70] eal: add iova2virt function

2018-04-08 Thread Anatoly Burakov
This is reverse lookup of PA to VA. Using this will make other code less dependent on internals of mem API. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/eal_common_memory.c | 30 ++ lib/librte_eal/common/include/rte_memory.h | 12 lib/librte_

[dpdk-dev] [PATCH v4 38/70] bus/fslmc: use iova2virt instead of memseg iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- Notes: v4: - Fixed usage of experimental API's v3: - Added this patch drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 13 + drivers/event/dpaa2/Makefi

[dpdk-dev] [PATCH v4 42/70] crypto/dpaa_sec: use virt2memseg instead of iteration

2018-04-08 Thread Anatoly Burakov
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov --- drivers/crypto/dpaa_sec/dpaa_sec.c | 19 +-- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dp

[dpdk-dev] [PATCH v4 46/70] vfio: allow to map other memory regions

2018-04-08 Thread Anatoly Burakov
Currently it is not possible to use memory that is not owned by DPDK to perform DMA. This scenarion might be used in vhost applications (like SPDK) where guest send its own memory table. To fill this gap provide API to allow registering arbitrary address in VFIO container. Signed-off-by: Pawel Wod

[dpdk-dev] [PATCH v4 47/70] eal: add "legacy memory" option

2018-04-08 Thread Anatoly Burakov
This adds a "--legacy-mem" command-line switch. It will be used to go back to the old memory behavior, one where we can't dynamically allocate/free memory (the downside), but one where the user can get physically contiguous memory, like before (the upside). For now, nothing but the legacy behavior

[dpdk-dev] [PATCH v4 51/70] eal: add support for mapping hugepages at runtime

2018-04-08 Thread Anatoly Burakov
Nothing uses this code yet. The bulk of it is copied from old memory allocation code (linuxapp eal_memory.c). We provide an EAL-internal API to allocate either one page or multiple pages, guaranteeing that we'll get contiguous VA for all of the pages that we requested. Not supported on FreeBSD. L

[dpdk-dev] [PATCH v4 48/70] eal: add rte_fbarray

2018-04-08 Thread Anatoly Burakov
rte_fbarray is a simple indexed array stored in shared memory via mapping files into memory. Rationale for its existence is the following: since we are going to map memory page-by-page, there could be quite a lot of memory segments to keep track of (for smaller page sizes, page count can easily rea

[dpdk-dev] [PATCH v4 50/70] eal: replace memzone array with fbarray

2018-04-08 Thread Anatoly Burakov
It's there, so we might as well use it. Some operations will be sped up by that. Since we have to allocate an fbarray for memzones, we have to do it before we initialize memory subsystem, because that, in secondary processes, will (later) allocate more fbarrays than the primary process, which will

[dpdk-dev] [PATCH v4 56/70] eal: read hugepage counts from node-specific sysfs path

2018-04-08 Thread Anatoly Burakov
For non-legacy memory init mode, instead of looking at generic sysfs path, look at sysfs paths pertaining to each NUMA node for hugepage counts. Note that per-NUMA node path does not provide information regarding reserved pages, so we might not get the best info from these paths, but this saves us

[dpdk-dev] [PATCH v4 53/70] eal: add "single file segments" command-line option

2018-04-08 Thread Anatoly Burakov
Currently, DPDK stores all pages as separate files in hugetlbfs. This option will allow storing all pages in one file (one file per memseg list). We do this by using fallocate() calls on FreeBSD, however this is only supported on fairly recent (4.3+) kernels, so ftruncate() fallback is provided to

[dpdk-dev] [PATCH v4 52/70] eal: add support for unmapping pages at runtime

2018-04-08 Thread Anatoly Burakov
This isn't used anywhere yet, but the support is now there. Also, adding cleanup to allocation procedures, so that if we fail to allocate everything we asked for, we can free all of it back. Signed-off-by: Anatoly Burakov --- lib/librte_eal/bsdapp/eal/eal_memalloc.c | 15 +++ lib/librte_eal/c

[dpdk-dev] [PATCH v4 54/70] eal: add API to check if memory is contiguous

2018-04-08 Thread Anatoly Burakov
For now, memory is always contiguous because legacy mem mode is enabled unconditionally, but this function will be helpful down the line when we implement support for allocating physically non-contiguous memory. We can no longer guarantee physically contiguous memory unless we're in legacy or IOVA_

  1   2   >