Re: [dpdk-dev] [PATCH v1 1/2] net/octeontx: fix null pointer dereference

2018-03-07 Thread Pavan Nikhilesh
On Tue, Mar 06, 2018 at 05:51:27PM +, Ferruh Yigit wrote: > On 2/20/2018 5:14 PM, Santosh Shukla wrote: > > Fixes: f18b146c498d ("net/octeontx: create ethdev ports") > > Coverity issue: 195040 > > > > Cc: sta...@dpdk.org > > Signed-off-by: Santosh Shukla > > Series applied to dpdk-next-net/mas

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Thomas Monjalon
Hi, 06/03/2018 19:28, Arnon Warshavsky: > The use case addressed here is dpdk environment init > aborting the process due to panic, > preventing the calling process from running its own tear-down actions. Thank you for working on this long standing issue. > A preferred, though ABI breaking solut

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Arnon Warshavsky
> > > Are you OK to visit the other side of the solution? > > Sure. If no one is emotionally attached to those panic aborts, this patch can be discarded and I will create a new one with the license to break.

Re: [dpdk-dev] [PATCH 3/3] vhost: support VFIO based accelerator

2018-03-07 Thread Tiwei Bie
On Tue, Mar 06, 2018 at 03:24:27PM +0100, Maxime Coquelin wrote: > On 03/06/2018 11:43 AM, Tiwei Bie wrote: [...] > > + > > +static int vhost_user_slave_set_vring_file(struct virtio_net *dev, > > + uint32_t request, > > + str

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Burakov, Anatoly
On 07-Mar-18 8:32 AM, Thomas Monjalon wrote: Hi, 06/03/2018 19:28, Arnon Warshavsky: The use case addressed here is dpdk environment init aborting the process due to panic, preventing the calling process from running its own tear-down actions. Thank you for working on this long standing issue

Re: [dpdk-dev] [PATCH] vhost: stop device before updating public vring data

2018-03-07 Thread Wodkowski, PawelX
> -Original Message- > From: Maxime Coquelin [mailto:maxime.coque...@redhat.com] > Sent: Tuesday, March 6, 2018 5:27 PM > To: Kulasek, TomaszX ; y...@fridaylinux.org > Cc: Verkamp, Daniel ; Harris, James R > ; Wodkowski, PawelX > ; dev@dpdk.org; Stojaczyk, DariuszX > > Subject: Re: [dpdk-d

Re: [dpdk-dev] [PATCH v1] net/tap: allow user MAC to be passed as args

2018-03-07 Thread Varghese, Vipin
Hi Ferruh, You are correct about this, I will add initialization send a next version patch. > -Original Message- > From: Yigit, Ferruh > Sent: Tuesday, March 6, 2018 4:42 PM > To: Varghese, Vipin ; dev@dpdk.org; > pascal.ma...@6wind.com > Cc: Jain, Deepak K > Subject: Re: [PATCH v1] net/

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Thomas Monjalon
07/03/2018 10:05, Burakov, Anatoly: > On 07-Mar-18 8:32 AM, Thomas Monjalon wrote: > > Hi, > > > > 06/03/2018 19:28, Arnon Warshavsky: > >> The use case addressed here is dpdk environment init > >> aborting the process due to panic, > >> preventing the calling process from running its own tear-dow

Re: [dpdk-dev] [PATCH] vhost: stop device before updating public vring data

2018-03-07 Thread Maxime Coquelin
On 03/07/2018 10:16 AM, Wodkowski, PawelX wrote: -Original Message- From: Maxime Coquelin [mailto:maxime.coque...@redhat.com] Sent: Tuesday, March 6, 2018 5:27 PM To: Kulasek, TomaszX ; y...@fridaylinux.org Cc: Verkamp, Daniel ; Harris, James R ; Wodkowski, PawelX ; dev@dpdk.org; Stojac

Re: [dpdk-dev] [PATCH v3] net/null:Different mac address support

2018-03-07 Thread Ferruh Yigit
On 3/7/2018 3:31 AM, Mallesh Koujalagi wrote: > After attaching two Null device to ovs, seeing "00.00.00.00.00.00" mac > address for both null devices. Fix this issue, by setting different mac > address. > > Signed-off-by: Mallesh Koujalagi Reviewed-by: Ferruh Yigit There are some commit forma

Re: [dpdk-dev] [PATCH] net/null: Support bulk alloc and free.

2018-03-07 Thread Ferruh Yigit
On 3/5/2018 3:36 PM, Ananyev, Konstantin wrote: > > >> -Original Message- >> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Ferruh Yigit >> Sent: Monday, March 5, 2018 3:25 PM >> To: Koujalagi, MalleshX ; dev@dpdk.org >> Cc: mtetsu...@gmail.com >> Subject: Re: [dpdk-dev] [PATCH] net

Re: [dpdk-dev] [PATCH] vhost: stop device before updating public vring data

2018-03-07 Thread Wodkowski, PawelX
> -Original Message- > From: Maxime Coquelin [mailto:maxime.coque...@redhat.com] > Sent: Wednesday, March 7, 2018 11:09 AM > To: Wodkowski, PawelX ; Kulasek, TomaszX > ; y...@fridaylinux.org > Cc: Verkamp, Daniel ; Harris, James R > ; dev@dpdk.org; Stojaczyk, DariuszX > > Subject: Re: [dpd

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Arnon Warshavsky
> > Can this really go into current release without deprecation notices? > > If such an exception is done, it must be approved by the technical board. > We need to check few criterias: > - which functions need to be changed > - how the application is impacted > - what is the

Re: [dpdk-dev] [PATCH 5/8] net/mrvl: add classifier support

2018-03-07 Thread Ferruh Yigit
On 2/21/2018 2:14 PM, Tomasz Duszynski wrote: > Add classifier configuration support via rte_flow api. > > Signed-off-by: Natalie Samsonov > Signed-off-by: Tomasz Duszynski > --- > doc/guides/nics/mrvl.rst | 168 +++ > drivers/net/mrvl/Makefile |1 + > drivers/net/mrvl/mrvl_ethd

Re: [dpdk-dev] [PATCH 5/8] net/mrvl: add classifier support

2018-03-07 Thread Tomasz Duszynski
On Wed, Mar 07, 2018 at 11:07:14AM +, Ferruh Yigit wrote: > On 2/21/2018 2:14 PM, Tomasz Duszynski wrote: > > Add classifier configuration support via rte_flow api. > > > > Signed-off-by: Natalie Samsonov > > Signed-off-by: Tomasz Duszynski > > --- > > doc/guides/nics/mrvl.rst | 168 +

Re: [dpdk-dev] [PATCH 5/8] net/mrvl: add classifier support

2018-03-07 Thread Ferruh Yigit
On 3/7/2018 11:16 AM, Tomasz Duszynski wrote: > On Wed, Mar 07, 2018 at 11:07:14AM +, Ferruh Yigit wrote: >> On 2/21/2018 2:14 PM, Tomasz Duszynski wrote: >>> Add classifier configuration support via rte_flow api. >>> >>> Signed-off-by: Natalie Samsonov >>> Signed-off-by: Tomasz Duszynski >>>

Re: [dpdk-dev] [PATCH] vhost: stop device before updating public vring data

2018-03-07 Thread Maxime Coquelin
On 03/07/2018 11:59 AM, Wodkowski, PawelX wrote: -Original Message- From: Maxime Coquelin [mailto:maxime.coque...@redhat.com] Sent: Wednesday, March 7, 2018 11:09 AM To: Wodkowski, PawelX ; Kulasek, TomaszX ; y...@fridaylinux.org Cc: Verkamp, Daniel ; Harris, James R ; dev@dpdk.org; Sto

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Burakov, Anatoly
On 07-Mar-18 9:59 AM, Thomas Monjalon wrote: 07/03/2018 10:05, Burakov, Anatoly: On 07-Mar-18 8:32 AM, Thomas Monjalon wrote: Hi, 06/03/2018 19:28, Arnon Warshavsky: The use case addressed here is dpdk environment init aborting the process due to panic, preventing the calling process from run

Re: [dpdk-dev] [PATCH] net/nfp: add port id to mbuf

2018-03-07 Thread Ferruh Yigit
On 2/22/2018 11:13 AM, Alejandro Lucero wrote: > Although this can be done by the app, because other PMDs are doing it, > apps expect this behaviour from the PMD. Although it doesn't explicitly stated, I think expectation is PMD to set it, the sample applications I checked in the dpdk don't set th

Re: [dpdk-dev] [dpdk-stable] [PATCH] net/nfp: fix barrier location

2018-03-07 Thread Ferruh Yigit
On 2/22/2018 11:30 AM, Alejandro Lucero wrote: > The barrier needs to be after reading the DD bit. It has not been > a problem because the potential reads which can not happen before > reading the DD bit seem to be far enough, so the compiler is not > rescheduling them. However, a refactoring could

Re: [dpdk-dev] [dpdk-stable] [PATCH] net/nfp: fix link speed capabilities reported

2018-03-07 Thread Ferruh Yigit
On 2/22/2018 11:57 AM, Alejandro Lucero wrote: > Mixing numeric macros with bit shifts macros is not a good idea. > > Fixes: 011411586e03 ("net/nfp: extend speed capabilities advertised") Cc: sta...@dpdk.org > Signed-off-by: Alejandro Lucero Applied to dpdk-next-net/master, thanks.

[dpdk-dev] [RFC PATCH v1 2/4] net/e1000: add TxRx tuning parameters

2018-03-07 Thread Remy Horton
The optimal values of several transmission & reception related parameters, such as burst sizes, descriptor ring sizes, and number of queues, varies between different network interface devices. This patch allows individual PMDs to specify preferred parameter values. Signed-off-by: Remy Horton ---

[dpdk-dev] [RFC PATCH v1 0/4] ethdev: add per-PMD tuning of RxTx parmeters

2018-03-07 Thread Remy Horton
The optimal values of several transmission & reception related parameters, such as burst sizes, descriptor ring sizes, and number of queues, varies between different network interface devices. This patchset allows individual PMDs to specify their preferred parameter values, and if so indicated by a

[dpdk-dev] [RFC PATCH v1 1/4] ethdev: add support for PMD-tuned Tx/Rx parameters

2018-03-07 Thread Remy Horton
The optimal values of several transmission & reception related parameters, such as burst sizes, descriptor ring sizes, and number of queues, varies between different network interface devices. This patch allows individual PMDs to specify preferred parameter values. Signed-off-by: Remy Horton ---

[dpdk-dev] [RFC PATCH v1 3/4] net/i40e: add TxRx tuning parameters

2018-03-07 Thread Remy Horton
The optimal values of several transmission & reception related parameters, such as burst sizes, descriptor ring sizes, and number of queues, varies between different network interface devices. This patch allows individual PMDs to specify preferred parameter values. Signed-off-by: Remy Horton ---

[dpdk-dev] [RFC PATCH v1 4/4] testpmd: make use of per-PMD TxRx parameters

2018-03-07 Thread Remy Horton
The optimal values of several transmission & reception related parameters, such as burst sizes, descriptor ring sizes, and number of queues, varies between different network interface devices. This patch allows testpmd to make use of per-PMD tuned parameter values. Signed-off-by: Remy Horton ---

Re: [dpdk-dev] [RFC v1 1/1] lib/cryptodev: add support of asymmetric crypto

2018-03-07 Thread Verma, Shally
Hi Fiona >-Original Message- >From: Trahe, Fiona [mailto:fiona.tr...@intel.com] >Sent: 09 February 2018 23:43 >To: dev@dpdk.org; Athreya, Narayana Prasad >; Murthy, Nidadavolu >; Sahu, Sunila ; Gupta, >Ashish ; Verma, >Shally ; Doherty, Declan ; >Keating, Brian A ; >Griffin, John >Cc:

Re: [dpdk-dev] [PATCH v2] net/qede: fix alloc from socket 0

2018-03-07 Thread Ferruh Yigit
On 2/26/2018 6:38 PM, Patil, Harish wrote: > -Original Message- > From: Pascal Mazon > Date: Monday, February 26, 2018 at 12:01 AM > To: "dev@dpdk.org" , "Mody, Rasesh" > , Harish Patil , "Shaikh, > Shahed" > Cc: "pascal.ma...@6wind.com" , "sta...@dpdk.org" > > Subject: [PATCH v2] net/qe

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Arnon Warshavsky
> > Can we add a compile warning for adding new rte_panic's into code? It's a > nice tool while debugging, but it probably shouldn't be in any new > production code. > I thought about renaming the current function and calls to something like deprecated_rte_panic() , and keep the old API with __rte

[dpdk-dev] [PATCH v2 0/4] ixgbe: convert to new offloads API

2018-03-07 Thread Wei Dai
This patch set adds support of per queue VLAN strip offloading in ixgbe PF and VF. This patch support new offloads API in ixgbe PF and VF. --- v2: improve error checking Wei Dai (4): net/ixgbe: support VLAN strip per queue offloading in PF net/ixgbe: support VLAN strip per queue offloading in

[dpdk-dev] [PATCH v2 4/4] net/ixgbe: convert to new Tx offloads API

2018-03-07 Thread Wei Dai
Ethdev Tx offloads API has changed since: commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") This commit support the new Tx offloads API. Signed-off-by: Wei Dai --- drivers/net/ixgbe/ixgbe_ethdev.c | 56 +-- drivers/net/ixgbe/ixgbe_ipsec.c | 5 ++- drivers/

[dpdk-dev] [PATCH v2 2/4] net/ixgbe: support VLAN strip per queue offloading in VF

2018-03-07 Thread Wei Dai
VLAN strip is a per queue offloading in VF. With this patch it can be enabled or disabled on any Rx queue in VF. Signed-off-by: Wei Dai --- drivers/net/ixgbe/ixgbe_ethdev.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/

[dpdk-dev] [PATCH v2 3/4] net/ixgbe: convert to new Rx offloads API

2018-03-07 Thread Wei Dai
Ethdev Rx offloads API has changed since: commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") This commit support the new Rx offloads API. Signed-off-by: Wei Dai --- drivers/net/ixgbe/ixgbe_ethdev.c | 93 + drivers/net/ixgbe/ixgbe_ipsec.c | 8 +-

[dpdk-dev] [PATCH v2 1/4] net/ixgbe: support VLAN strip per queue offloading in PF

2018-03-07 Thread Wei Dai
VLAN strip is a per queue offloading in PF. With this patch it can be enabled or disabled on any Rx queue in PF. Signed-off-by: Wei Dai --- drivers/net/ixgbe/ixgbe_ethdev.c | 109 +-- drivers/net/ixgbe/ixgbe_ethdev.h | 4 +- drivers/net/ixgbe/ixgbe_pf.c

Re: [dpdk-dev] [PATCH] doc: fixing grammar

2018-03-07 Thread Kovacevic, Marko
> -Original Message- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Alejandro Lucero > Sent: Thursday, February 22, 2018 12:16 PM > To: dev@dpdk.org > Cc: sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] doc: fixing grammar > > My english is far worse than those from the marketing t

Re: [dpdk-dev] [PATCH 2/4] bus/vdev: bus scan by multi-process channel

2018-03-07 Thread Burakov, Anatoly
On 04-Mar-18 3:30 PM, Jianfeng Tan wrote: To scan the vdevs in primary, we send request to primary process to obtain the names for vdevs. Only the name is shared from the primary. In probe(), the device driver is supposed to locate (or request more) the detail information from the primary. Sign

Re: [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests

2018-03-07 Thread Tan, Jianfeng
On 3/2/2018 4:41 PM, Anatoly Burakov wrote: Unlocking the action list before sending message and locking it again aftterwards introduces a window where a response might Typo: afterwards arrive before we have a chance to start waiting on a condition, resulting in timeouts on valid messages.

[dpdk-dev] [dpdk-announce] DPDK 16.11.5 (LTS) released

2018-03-07 Thread Luca Boccassi
Hi all, Here is a new stable release: http://fast.dpdk.org/rel/dpdk-16.11.5.tar.xz The git tree is at: http://dpdk.org/browse/dpdk-stable/ Apologies for the delays of a few days, but some extra time was necessary to sort through the regression tests results. Luca Boccassi ---

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Thomas Monjalon
07/03/2018 12:02, Arnon Warshavsky: > > > Can this really go into current release without deprecation notices? > > > > If such an exception is done, it must be approved by the technical board. > > We need to check few criterias: > > - which functions need to be changed > > - how the

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Thomas Monjalon
07/03/2018 14:23, Arnon Warshavsky: > > > > Can we add a compile warning for adding new rte_panic's into code? It's a > > nice tool while debugging, but it probably shouldn't be in any new > > production code. Yes could be nice to automatically detect it in drivers/ or lib/ directories. > I thou

Re: [dpdk-dev] [PATCH v2] ether: fix invalid string length in ethdev name comparison

2018-03-07 Thread Ferruh Yigit
On 2/27/2018 9:38 AM, Ananyev, Konstantin wrote: > > >> -Original Message- >> From: Awal, Mohammad Abdul >> Sent: Tuesday, February 27, 2018 8:58 AM >> To: tho...@monjalon.net >> Cc: rke...@gmail.com; dev@dpdk.org; Ananyev, Konstantin >> ; Awal, Mohammad Abdul >> >> Subject: [PATCH v2]

Re: [dpdk-dev] [PATCH 00/41] Memory Hotplug for DPDK

2018-03-07 Thread Nélio Laranjeiro
Hi Anatoly, I am trying to run some test with this series, but it seems to be based on some other commits of yours. I have already identified the following one [1] it seems I am missing some others. It is possible to have a list of commits to apply on the current master branch [2] before this ser

Re: [dpdk-dev] [PATCH 00/41] Memory Hotplug for DPDK

2018-03-07 Thread Burakov, Anatoly
On 07-Mar-18 3:27 PM, Nélio Laranjeiro wrote: Hi Anatoly, I am trying to run some test with this series, but it seems to be based on some other commits of yours. I have already identified the following one [1] it seems I am missing some others. It is possible to have a list of commits to apply

Re: [dpdk-dev] [PATCH 00/41] Memory Hotplug for DPDK

2018-03-07 Thread Burakov, Anatoly
On 07-Mar-18 3:27 PM, Nélio Laranjeiro wrote: Hi Anatoly, I am trying to run some test with this series, but it seems to be based on some other commits of yours. I have already identified the following one [1] it seems I am missing some others. It is possible to have a list of commits to apply

Re: [dpdk-dev] [dpdk-stable] [PATCH] doc: fixing grammar

2018-03-07 Thread Ferruh Yigit
On 3/7/2018 1:41 PM, Kovacevic, Marko wrote: > > >> -Original Message- >> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Alejandro Lucero >> Sent: Thursday, February 22, 2018 12:16 PM >> To: dev@dpdk.org >> Cc: sta...@dpdk.org >> Subject: [dpdk-dev] [PATCH] doc: fixing grammar >> >>

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Arnon Warshavsky
> > maybe we should keep the callback patch until all the remains are gone. > > Why introducing a new API for a temporary solution? > It has always been like that, so the remaining occurences could wait > one more release, isn't it? > > Yes. I guess I am over excited to get rid of my local changes

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Arnon Warshavsky
> > Can we add a compile warning for adding new rte_panic's into code? It's a > > > nice tool while debugging, but it probably shouldn't be in any new > > > production code. > > Yes could be nice to automatically detect it in drivers/ or lib/ > directories. > How do we apply a warning only to new

[dpdk-dev] [PATCH v5 5/6] eal: simplify IPC sync request timeout code

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- Notes: v4: add this patch lib/librte_eal/common/eal_common_proc.c | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c index c6fef75..fe27

[dpdk-dev] [PATCH v5 3/6] eal: don't hardcode socket filter value in IPC

2018-03-07 Thread Anatoly Burakov
Currently, filter value is hardcoded and disconnected from actual value returned by eal_mp_socket_path(). Fix this to generate filter value by deriving it from eal_mp_socket_path() instead. Signed-off-by: Anatoly Burakov Acked-by: Jianfeng Tan --- Notes: v5: removed init files v4:

[dpdk-dev] [PATCH v5 1/6] eal: add internal flag indicating init has completed

2018-03-07 Thread Anatoly Burakov
Currently, primary process initialization is finalized by setting the RTE_MAGIC value in the shared config. However, it is not possible to check whether secondary process initialization has completed. Add such a value to internal config. Signed-off-by: Anatoly Burakov --- Notes: v4: make ini

[dpdk-dev] [PATCH v5 4/6] eal: lock IPC directory on init and send

2018-03-07 Thread Anatoly Burakov
When sending IPC messages, prevent new sockets from initializing. Signed-off-by: Anatoly Burakov --- Notes: v5: removed init files introduced in v4 v4: fixed resource leaks and added support for init files introduced in v4 series lib/librte_eal/common/eal_common_proc.c | 5

[dpdk-dev] [PATCH v5 6/6] eal: ignore messages until init is complete

2018-03-07 Thread Anatoly Burakov
If we receive messages that don't have a callback registered for them, and we haven't finished initialization yet, it can be reasonably inferred that we shouldn't have gotten the message in the first place. Therefore, send requester a special message telling them to ignore response to this request,

[dpdk-dev] [PATCH v5 0/6] Improvements for DPDK IPC

2018-03-07 Thread Anatoly Burakov
This is an assortment of loosely related improvements to IPC, mostly related to handling corner cases and avoiding race conditions. Main addition is an attempt to avoid undefined behavior when receiving messages while secondary process is initializing. It is assumed that once callback is registere

[dpdk-dev] [PATCH v3] eal: add asynchronous request API to DPDK IPC

2018-03-07 Thread Anatoly Burakov
This API is similar to the blocking API that is already present, but reply will be received in a separate callback by the caller. Under the hood, we create a separate thread to deal with replies to asynchronous requests, that will just wait to be notified by the main thread, or woken up on a timer

[dpdk-dev] [PATCH v5 2/6] eal: abstract away IPC socket path generation

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- Notes: v5: remove lock files, leaving only socket paths code v4: replace lock files with init files lib/librte_eal/common/eal_common_proc.c | 48 - 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/lib

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

2018-03-07 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 --- lib/librte_eal/common/eal_common_memory.c | 101 ++ lib/librte_eal/common/eal_private.h | 33 +++

[dpdk-dev] [PATCH v2 00/41] Memory Hotplug for DPDK

2018-03-07 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): - IPC bugfixes patchset [2] - IPC improvements patchset [3] - IPC asynchronous request API patch [4] - Function to return num

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

2018-03-07 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 v2 02/41] eal: move all locking to heap

2018-03-07 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 v2 05/41] test: add command to dump malloc heap contents

2018-03-07 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 v2 11/41] eal: add "legacy memory" option

2018-03-07 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 v2 12/41] eal: read hugepage counts from node-specific sysfs path

2018-03-07 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 v2 07/41] eal: make malloc free list remove public

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/malloc_elem.c | 12 ++-- lib/librte_eal/common/malloc_elem.h | 3 +++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/malloc_elem.c index 2291ee1..008f5a3

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

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/malloc_elem.c | 4 ++-- lib/librte_eal/common/malloc_elem.h | 2 +- lib/librte_eal/common/malloc_heap.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/ma

[dpdk-dev] [PATCH v2 10/41] eal: add "single file segments" command-line option

2018-03-07 Thread Anatoly Burakov
For now, this option does nothing, but it will be useful in dynamic memory allocation down the line. Currently, DPDK stores all pages as separate files in hugetlbfs. This option will allow storing all pages in one file (one file per socket, per page size). Signed-off-by: Anatoly Burakov --- lib/

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

2018-03-07 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 --- lib/librte_eal/common/include/rte_malloc.h | 9 + lib/librte_eal/common/malloc_elem.c| 24 lib/l

[dpdk-dev] [PATCH v2 06/41] eal: make malloc_elem_join_adjacent_free public

2018-03-07 Thread Anatoly Burakov
We need this function to join newly allocated segments with the heap. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/malloc_elem.c | 6 +++--- lib/librte_eal/common/malloc_elem.h | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/common/malloc_elem.c

[dpdk-dev] [PATCH v2 18/41] test: fix malloc autotest to support memory hotplug

2018-03-07 Thread Anatoly Burakov
The test was expecting memory already being allocated on all sockets, and thus was failing because calling rte_malloc could trigger memory hotplug event and allocate memory where there was none before. Fix it to instead report availability of memory on specific sockets by attempting to allocate a

[dpdk-dev] [PATCH v2 09/41] eal: add rte_fbarray

2018-03-07 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 v2 16/41] eal: make use of memory hotplug for init

2018-03-07 Thread Anatoly Burakov
Add a new (non-legacy) memory init path for EAL. It uses the new memory hotplug facilities, although it's only being run at startup. If no -m or --socket-mem switches were specified, the new init will not allocate anything, whereas if those switches were passed, appropriate amounts of pages would

[dpdk-dev] [PATCH v2 20/41] eal: add backend support for contiguous allocation

2018-03-07 Thread Anatoly Burakov
No major changes, just add some checks in a few key places, and a new parameter to pass around. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/eal_common_memzone.c | 20 +++--- lib/librte_eal/common/malloc_elem.c| 101 ++--- lib/librte_eal/common/malloc

[dpdk-dev] [PATCH v2 13/41] eal: replace memseg with memseg lists

2018-03-07 Thread Anatoly Burakov
Before, we were aggregating multiple pages into one memseg, so the number of memsegs was small. Now, each page gets its own memseg, so the list of memsegs is huge. To accommodate the new memseg list size and to keep the under-the-hood workings sane, the memseg list is now not just a single list, bu

[dpdk-dev] [PATCH v2 17/41] eal: enable memory hotplug support in rte_malloc

2018-03-07 Thread Anatoly Burakov
This set of changes enables rte_malloc to allocate and free memory as needed. The way it works is, first malloc checks if there is enough memory already allocated to satisfy user's request. If there isn't, we try and allocate more memory. The reverse happens with free - we free an element, check it

[dpdk-dev] [PATCH v2 21/41] eal: enable reserving physically contiguous memzones

2018-03-07 Thread Anatoly Burakov
This adds a new set of _contig API's to rte_memzone. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/eal_common_memzone.c | 44 lib/librte_eal/common/include/rte_memzone.h | 154 2 files changed, 198 insertions(+) diff --git a/lib/librte_eal/comm

[dpdk-dev] [PATCH v2 23/41] mempool: add support for the new allocation methods

2018-03-07 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 v2 29/41] eal: add support for callbacks on memory hotplug

2018-03-07 Thread Anatoly Burakov
Each process will have its own callbacks. Callbacks will indicate whether it's allocation and deallocation that's happened, and will also provide start VA address and length of allocated block. Since memory hotplug isn't supported on FreeBSD and in legacy mem mode, it will not be possible to regis

[dpdk-dev] [PATCH v2 26/41] eal: prepare memseg lists for multiprocess sync

2018-03-07 Thread Anatoly Burakov
In preparation for implementing multiprocess support, we are adding a version number and write locks to memseg lists. There are two ways of implementing multiprocess support for memory hotplug: either all information about mapped memory is shared between processes, and secondary processes simply a

[dpdk-dev] [PATCH v2 19/41] eal: add API to check if memory is contiguous

2018-03-07 Thread Anatoly Burakov
This will be helpful down the line when we implement support for allocating physically contiguous memory. We can no longer guarantee physically contiguous memory unless we're in IOVA_AS_VA mode, but we can certainly try and see if we succeed. In addition, this would be useful for e.g. PMD's who may

[dpdk-dev] [PATCH v2 32/41] crypto/qat: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov Acked-by: Fiona Trahe --- drivers/crypto/qat/qat_qp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qat/qat_qp.c b/drivers/crypto/qat/qat_qp.c index 87b9ce0..3f8ed4d 100644 --- a/drivers/crypto/qat/qat_qp.c +++ b/drivers/cry

[dpdk-dev] [PATCH v2 31/41] ethdev: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
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.c drivers/net/fm10k/fm10k_ethdev.c drivers/net/vmxnet3/vmxnet3_rxtx.c drivers/net/liquidio/l

[dpdk-dev] [PATCH v2 24/41] vfio: allow to map other memory regions

2018-03-07 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 v2 27/41] eal: add multiprocess init with memory hotplug

2018-03-07 Thread Anatoly Burakov
for legacy memory mode, attach to primary's memseg list, and map hugepages as before. for non-legacy mode, preallocate all VA space and then do a sync of local memory map. Signed-off-by: Anatoly Burakov --- lib/librte_eal/bsdapp/eal/eal_hugepage_info.c | 7 ++ lib/librte_eal/common/eal_commo

[dpdk-dev] [PATCH v2 30/41] eal: enable callbacks on malloc/free and mp sync

2018-03-07 Thread Anatoly Burakov
Also, rewrite VFIO to rely on memory callbacks instead of manually registering memory with VFIO. Callbacks will only be registered if VFIO is enabled. Signed-off-by: Anatoly Burakov --- lib/librte_eal/common/malloc_heap.c| 21 + lib/librte_eal/linuxapp/eal/eal_memalloc.c

[dpdk-dev] [PATCH v2 33/41] net/avf: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- drivers/net/avf/avf_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c index 4df6617..f69d697 100644 --- a/drivers/net/avf/avf_ethdev.c +++ b/drivers/net/avf/avf_ethdev.c @@ -1

[dpdk-dev] [PATCH v2 37/41] net/enic: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov Acked-by: John Daley --- Notes: It is not 100% clear that second call to memzone_reserve is allocating DMA memory. Corrections welcome. drivers/net/enic/enic_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/enic/e

[dpdk-dev] [PATCH v2 39/41] net/qede: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- Notes: Doing "grep -R rte_memzone_reserve drivers/net/qede" returns the following: drivers/net/qede/qede_fdir.c: mz = rte_memzone_reserve_aligned(mz_name, QEDE_MAX_FDIR_PKT_LEN, drivers/net/qede/base/bcm_osal.c: mz = rte_memzone_reserve_al

[dpdk-dev] [PATCH v2 41/41] net/vmxnet3: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- Notes: Not sure if DMA-capable memzones are needed for vmxnet3. Corrections welcome. drivers/net/vmxnet3/vmxnet3_ethdev.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmx

[dpdk-dev] [PATCH v2 28/41] eal: add support for multiprocess memory hotplug

2018-03-07 Thread Anatoly Burakov
This enables multiprocess synchronization for memory hotplug requests at runtime (as opposed to initialization). Basic workflow is the following. Primary process always does initial mapping and unmapping, and secondary processes always follow primary page map. Only one allocation request can be ac

[dpdk-dev] [PATCH v2 40/41] net/virtio: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov Reviewed-by: Venkatesh Srinivas --- Notes: Not sure if virtio needs to allocate DMA-capable memory, being a software driver and all. Corrections welcome. drivers/net/virtio/virtio_ethdev.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) dif

[dpdk-dev] [PATCH v2 14/41] eal: add support for mapping hugepages at runtime

2018-03-07 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. For single-file segments, we

[dpdk-dev] [PATCH v2 25/41] eal: map/unmap memory with VFIO when alloc/free pages

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- lib/librte_eal/linuxapp/eal/eal_memalloc.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c b/lib/librte_eal/linuxapp/eal/eal_memalloc.c index bbeeeba..c03e7bc 100644 --- a/lib/librte_eal/linuxapp/eal/e

[dpdk-dev] [PATCH v2 15/41] eal: add support for unmapping pages at runtime

2018-03-07 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/common/eal_memalloc.h | 3 + lib/librte_eal/lin

[dpdk-dev] [PATCH v2 22/41] eal: replace memzone array with fbarray

2018-03-07 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 v2 35/41] net/cxgbe: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- Notes: It is not 100% clear if this memzone is used for DMA, corrections welcome. drivers/net/cxgbe/sge.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c index 3d5aa59..e31474c 100

[dpdk-dev] [PATCH v2 38/41] net/i40e: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- Notes: It is not 100% clear that all users of this function need to allocate DMA memory. Corrections welcome. drivers/net/i40e/i40e_ethdev.c | 2 +- drivers/net/i40e/i40e_rxtx.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/d

[dpdk-dev] [PATCH v2 34/41] net/bnx2x: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- drivers/net/bnx2x/bnx2x.c | 2 +- drivers/net/bnx2x/bnx2x_rxtx.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c index fb02d0f..81f5dae 100644 --- a/drivers/net/bnx2x/bnx2x.c +++

[dpdk-dev] [PATCH v2 36/41] net/ena: use contiguous allocation for DMA memory

2018-03-07 Thread Anatoly Burakov
Signed-off-by: Anatoly Burakov --- drivers/net/ena/base/ena_plat_dpdk.h | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index 8cba319..c1ebf00 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h

Re: [dpdk-dev] [PATCH] eal: register rte_panic user callback

2018-03-07 Thread Thomas Monjalon
07/03/2018 17:31, Arnon Warshavsky: > > > Can we add a compile warning for adding new rte_panic's into code? It's > a > > > > > nice tool while debugging, but it probably shouldn't be in any new > > > > production code. > > > > Yes could be nice to automatically detect it in drivers/ or lib/ > > d

Re: [dpdk-dev] [PATCH v2] ethdev: remove versioning of ethdev filter control function

2018-03-07 Thread Ferruh Yigit
On 2/27/2018 2:18 PM, Kirill Rybalchenko wrote: > In 18.02 release the ABI of ethdev component was changed. > To keep compatibility with previous versions of the library > the versioning of rte_eth_dev_filter_ctrl function was implemented. > As soon as deprecation note was issued in 18.02 release,

[dpdk-dev] [RFC] config: remove RTE_NEXT_ABI

2018-03-07 Thread Ferruh Yigit
After experimental API process defined do we still need RTE_NEXT_ABI config and process which has similar targets? Are distros disable experimental APIs when delivering DPDK? And is there any config required to control this, as RTE_NEXT_ABI intended to do? Cc: Neil Horman Cc: Thomas Monjalon Cc

  1   2   >