[dpdk-dev] [PATCH] port: bump ABI for pcap file support

2016-04-14 Thread Thomas Monjalon
Support of PCAP file has been added to rte_port in release 16.04 as NEXT_ABI. It is in the standard ABI of the release 16.07. Signed-off-by: Thomas Monjalon --- doc/guides/rel_notes/deprecation.rst | 5 - doc/guides/rel_notes/release_16_07.rst | 5 - examples/ip_pipeline/init.c

[dpdk-dev] [PATCH v2 2/3] i40e: improve performance of vector PMD

2016-04-14 Thread Bruce Richardson
An analysis of the i40e code using Intel? VTune? Amplifier 2016 showed that the code was unexpectedly causing stalls due to "Loads blocked by Store Forwards". This can occur when a load from memory has to wait due to the prior store being to the same address, but being of a smaller size i.e. the

[dpdk-dev] [PATCH v2 1/3] i40e: require SSE4.1 support for vector driver

2016-04-14 Thread Bruce Richardson
Later commits to improve the driver will make use of the SSE4.1 _mm_blend_epi16 intrinsic, so: * set the compilation level to always have SSE4.1 support, * and add in a runtime check for SSE4.1 as part of the condition checks for vector driver selection. Signed-off-by: Bruce Richardson ---

[dpdk-dev] [PATCH v2 0/3] improve i40e vpmd

2016-04-14 Thread Bruce Richardson
This patchset improves the performance of the i40e SSE pmd by removing operations that triggered CPU stalls. It also shortens the code and cleans it up a little. The base requirement for using the SSE code path has been pushed up to SSE4.1 from SSE3, due to the use of the blend instruction. The

[dpdk-dev] [PATCH] i40evf: Ignore disabled HW CRC strip for Linux PF hosts

2016-04-14 Thread Björn Töpel
On Linux PF hosts, the VF has no means of changing the HW CRC strip setting for a RX queue. It's implicitly enabled. This patch ignores, and warns, if HW CRC stripping was disabled. Signed-off-by: Bj?rn T?pel --- drivers/net/i40e/i40e_ethdev_vf.c | 15 +++ 1 file changed, 15

[dpdk-dev] memory allocation requirements

2016-04-14 Thread Olivier MATZ
Hi, On 04/13/2016 06:03 PM, Thomas Monjalon wrote: > After looking at the patches for container support, it appears that > some changes are needed in the memory management: > http://thread.gmane.org/gmane.comp.networking.dpdk.devel/32786/focus=32788 > > I think it is time to collect what are the

[dpdk-dev] [4.4 kernel] kni lockup, kernel dump

2016-04-14 Thread Thomas Monjalon
2016-04-14 15:29, Ferruh Yigit: > On 4/13/2016 11:26 PM, ALeX Wang wrote: > > Did more experiment, found that it has nothing to do with the kernel > > version, > > > > It only happens when using kni module with '--no-huge' eal flag... > > > > Is that expected? > > > > Yes. > KNI kernel module

[dpdk-dev] memory allocation requirements

2016-04-14 Thread Sergio Gonzalez Monroy
On 14/04/2016 15:46, Olivier MATZ wrote: > Hi, > > On 04/13/2016 06:03 PM, Thomas Monjalon wrote: >> After looking at the patches for container support, it appears that >> some changes are needed in the memory management: >>

[dpdk-dev] [PATCH 00/36] mempool: rework memory allocation

2016-04-14 Thread Olivier MATZ
On 04/14/2016 03:50 PM, Wiles, Keith wrote: >> This series is a rework of mempool. For those who don't want to read >> all the cover letter, here is a sumary: >> >> - it is not possible to allocate large mempools if there is not enough >> contiguous memory, this series solves this issue >> -

[dpdk-dev] [PATCH v4 3/3] mbuf: get default mempool handler from configuration

2016-04-14 Thread Olivier Matz
From: David Hunt By default, the mempool handler 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

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

2016-04-14 Thread Olivier Matz
Use a minimal custom mempool external handler and check that it also passes basic mempool autotests. Signed-off-by: Olivier Matz --- app/test/test_mempool.c | 113 1 file changed, 113 insertions(+) diff --git a/app/test/test_mempool.c

[dpdk-dev] [PATCH v4 1/3] mempool: support external handler

2016-04-14 Thread Olivier Matz
From: David Hunt Until now, the objects stored in mempool mempool were internally stored a ring. This patch introduce the possibility to register external handlers replacing the ring. The default behavior remains unchanged, but calling the new function

[dpdk-dev] [PATCH v4 0/3] external mempool manager

2016-04-14 Thread Olivier Matz
Here's a reworked version of the patch initially sent by David Hunt. The main change is that it is rebased on top of the "mempool: rework memory allocation" series [1], which simplifies a lot the first patch. [1] http://dpdk.org/ml/archives/dev/2016-April/037464.html v4 changes: * remove the

[dpdk-dev] [PATCH 26/36] mempool: introduce a function to create an empty mempool

2016-04-14 Thread Wiles, Keith
>Introduce a new function rte_mempool_create_empty() >that allocates a mempool that is not populated. > >The functions rte_mempool_create() and rte_mempool_xmem_create() >now make use of it, making their code much easier to read. >Currently, they are the only users of rte_mempool_create_empty()

[dpdk-dev] [PATCH] mem: fix freeing of memzone used by ivshmem

2016-04-14 Thread Sergio Gonzalez Monroy
On 14/04/2016 14:48, Mauricio Vasquez B wrote: > although previous implementation returned an error when trying to release a > memzone assigned to an ivshmem device, it stills freed it. > > Fixes: cd10c42eb5bc ("mem: fix ivshmem freeing") > > Signed-off-by: Mauricio Vasquez B studenti.polito.it>

[dpdk-dev] [PATCH] mem: fix freeing of memzone used by ivshmem

2016-04-14 Thread Mauricio Vasquez B
although previous implementation returned an error when trying to release a memzone assigned to an ivshmem device, it stills freed it. Fixes: cd10c42eb5bc ("mem: fix ivshmem freeing") Signed-off-by: Mauricio Vasquez B --- lib/librte_eal/common/eal_common_memzone.c | 12 ++-- 1 file

[dpdk-dev] [PATCH v5] mempool: reduce rte_mempool structure size

2016-04-14 Thread Olivier MATZ
Hi, On 04/14/2016 03:28 PM, Wiles, Keith wrote: >> From: Keith Wiles >> --- a/app/test/test_mempool.c >> +++ b/app/test/test_mempool.c >> @@ -122,8 +122,8 @@ test_mempool_basic(void) >> return -1; >> >> printf("get private data\n"); >> -if (rte_mempool_get_priv(mp) != >> -

[dpdk-dev] [PATCH] i40e: improve performance of vector PMD

2016-04-14 Thread Iremonger, Bernard
Hi Bruce, > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ananyev, > Konstantin > Sent: Thursday, April 14, 2016 3:00 PM > To: Richardson, Bruce ; dev at dpdk.org > Cc: Zhang, Helin ; Wu, Jingjing > > Subject: Re: [dpdk-dev] [PATCH] i40e: improve

[dpdk-dev] [PATCH 10/36] mempool: use the list to iterate the mempool elements

2016-04-14 Thread Wiles, Keith
> > static void >-txq_mp2mr_mbuf_check(void *arg, void *start, void *end, >- uint32_t index __rte_unused) >+txq_mp2mr_mbuf_check(struct rte_mempool *mp, void *arg, void *obj, >+ __rte_unused uint32_t index) I have seen this use of __rte_unused or attributes attached to

[dpdk-dev] [PATCH] fm10k: set packet type for multi-segment packets

2016-04-14 Thread Michael Frasca
When building a chain of mbufs for a multi-segment packet, the packet_type field resides at the end of the chain. It should be copied forward to the head of the list. Fixes: fe65e1e1ce61 ("fm10k: add vector scatter Rx") Signed-off-by: Michael Frasca --- drivers/net/fm10k/fm10k_rxtx_vec.c | 1 +

[dpdk-dev] [4.4 kernel] kni lockup, kernel dump

2016-04-14 Thread Ferruh Yigit
On 4/13/2016 11:26 PM, ALeX Wang wrote: > Did more experiment, found that it has nothing to do with the kernel > version, > > It only happens when using kni module with '--no-huge' eal flag... > > Is that expected? > Yes. KNI kernel module expects mempool is physically continuous, with

[dpdk-dev] [PATCH 00/36] mempool: rework memory allocation

2016-04-14 Thread Hunt, David
On 4/14/2016 3:01 PM, Olivier MATZ wrote: > > On 04/14/2016 03:50 PM, Wiles, Keith wrote: --snip-- >> I have not digested this complete patch yet, but this one popped out >> at me as the External Memory Manager support is setting in the wings >> for 16.07 release. If this causes the EMM patch

[dpdk-dev] [4.4 kernel] kni lockup, kernel dump

2016-04-14 Thread ALeX Wang
Thx, Ferruh and Thomas for the confirmation and pointer! On 14 April 2016 at 07:43, Thomas Monjalon wrote: > 2016-04-14 15:29, Ferruh Yigit: > > On 4/13/2016 11:26 PM, ALeX Wang wrote: > > > Did more experiment, found that it has nothing to do with the kernel > > > version, > > > > > > It only

[dpdk-dev] [PATCH] cmdline: fix unchecked return value

2016-04-14 Thread Daniel Mrzyglod
This patch is for checking if error values occurs. fix for coverity errors #13209 & #13195 If the function returns an error value, the error value may be mistaken for a normal value. In rdline_char_in: Value returned from a function is not checked for errors before being used Signed-off-by:

[dpdk-dev] [PATCH] i40e: improve performance of vector PMD

2016-04-14 Thread Bruce Richardson
On Thu, Apr 14, 2016 at 11:15:21AM +0100, Bruce Richardson wrote: > An analysis of the i40e code using Intel? VTune? Amplifier 2016 showed > that the code was unexpectedly causing stalls due to "Loads blocked by > Store Forwards". This can occur when a load from memory has to wait > due to the

[dpdk-dev] [PATCH 02/36] mempool: replace elt_size by total_elt_size

2016-04-14 Thread Wiles, Keith
>In some mempool functions, we use the size of the elements as arguments or in >variables. There is a confusion between the size including or not including >the header and trailer. > >To avoid this confusion: >- update the API documentation >- rename the variables and argument names as "elt_size"

[dpdk-dev] [PATCH 01/36] mempool: fix comments and style

2016-04-14 Thread Wiles, Keith
>No functional change, just fix some comments and styling issues. >Also avoid to duplicate comments between rte_mempool_create() >and rte_mempool_xmem_create(). > >Signed-off-by: Olivier Matz Acked by: Keith Wiles >--- > lib/librte_mempool/rte_mempool.c | 17 +--- >

[dpdk-dev] [PATCH v2 0/5] virtio support for container

2016-04-14 Thread Tan, Jianfeng
Hi Thomas, On 4/14/2016 12:14 AM, Thomas Monjalon wrote: > Hi Jianfeng, > > Thanks for raising the container issues and proposing some solutions. > General comments below. > > 2016-02-05 19:20, Jianfeng Tan: >> This patchset is to provide high performance networking interface (virtio) >> for

[dpdk-dev] [PATCH 00/36] mempool: rework memory allocation

2016-04-14 Thread Wiles, Keith
> > >On 04/14/2016 03:50 PM, Wiles, Keith wrote: >>> This series is a rework of mempool. For those who don't want to read >>> all the cover letter, here is a sumary: >>> >>> - it is not possible to allocate large mempools if there is not enough >>> contiguous memory, this series solves this

[dpdk-dev] [PATCH] i40e: improve performance of vector PMD

2016-04-14 Thread Ananyev, Konstantin
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson > Sent: Thursday, April 14, 2016 2:50 PM > To: dev at dpdk.org > Cc: Zhang, Helin; Wu, Jingjing > Subject: Re: [dpdk-dev] [PATCH] i40e: improve performance of vector PMD > > On Thu, Apr 14,

[dpdk-dev] [PATCH v5] mempool: reduce rte_mempool structure size

2016-04-14 Thread Wiles, Keith
>From: Keith Wiles > >The rte_mempool structure is changed, which will cause an ABI change >for this structure. Providing backward compat is not reasonable >here as this structure is used in multiple defines/inlines. > >Allow mempool cache support to be dynamic depending on if the >mempool being

[dpdk-dev] [PATCH v5] mempool: reduce rte_mempool structure size

2016-04-14 Thread Wiles, Keith
>From: Keith Wiles > >The rte_mempool structure is changed, which will cause an ABI change >for this structure. Providing backward compat is not reasonable >here as this structure is used in multiple defines/inlines. > >Allow mempool cache support to be dynamic depending on if the >mempool being

[dpdk-dev] ethtool doesnt work on some interface after unbinding dpdk

2016-04-14 Thread Gopakumar Choorakkot Edakkunni
Hi Remy, Thanks for the response. The error is "No such device", some snippets below. And no I was not using the dpdk ethtool ge8-> 06:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) root:~# ls /sys/class/net/ge8/device/driver/module/drivers/ pci:igb

[dpdk-dev] [PATCH 36/36] mempool: update copyright

2016-04-14 Thread Olivier Matz
Update the copyright of files touched by this patch series. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 1 + lib/librte_mempool/rte_mempool.h | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index

[dpdk-dev] [PATCH 35/36] app/test: rework mempool test

2016-04-14 Thread Olivier Matz
Rework the mempool test to better indicate where it failed, and, now that this feature is available, add the freeing of the mempool after the test is done. Signed-off-by: Olivier Matz --- app/test/test_mempool.c | 232 +++- 1 file changed, 129

[dpdk-dev] [PATCH 34/36] mempool: new flag when phys contig mem is not needed

2016-04-14 Thread Olivier Matz
Add a new flag to remove the constraint of having physically contiguous objects inside a mempool. Add this flag to the log history mempool to start, but we could add it in most cases where objects are not mbufs. Signed-off-by: Olivier Matz --- lib/librte_eal/common/eal_common_log.c | 2 +-

[dpdk-dev] [PATCH 33/36] mem: avoid memzone/mempool/ring name truncation

2016-04-14 Thread Olivier Matz
Check the return value of snprintf to ensure that the name of the object is not truncated. By the way, update the test to avoid to trigger an error in that case. Signed-off-by: Olivier Matz --- app/test/test_mempool.c| 12

[dpdk-dev] [PATCH 32/36] test-pmd: remove specific anon mempool code

2016-04-14 Thread Olivier Matz
Now that mempool library provide functions to populate with anonymous mmap'd memory, we can remove this specific code from test-pmd. Signed-off-by: Olivier Matz --- app/test-pmd/Makefile| 4 - app/test-pmd/mempool_anon.c | 201 ---

[dpdk-dev] [PATCH 31/36] mempool: make mempool populate and free api public

2016-04-14 Thread Olivier Matz
Add the following functions to the public mempool API: - rte_mempool_create_empty() - rte_mempool_populate_phys() - rte_mempool_populate_phys_tab() - rte_mempool_populate_virt() - rte_mempool_populate_default() - rte_mempool_populate_anon() - rte_mempool_free() Signed-off-by: Olivier Matz ---

[dpdk-dev] [PATCH 30/36] mempool: populate a mempool with anonymous memory

2016-04-14 Thread Olivier Matz
Now that we can populate a mempool with any virtual memory, it is easier to introduce a function to populate a mempool with memory coming from an anonymous mapping, as it's done in test-pmd. The next commit will replace test-pmd anonymous mapping by this function. Signed-off-by: Olivier Matz

[dpdk-dev] [PATCH 29/36] mempool: create the internal ring when populating

2016-04-14 Thread Olivier Matz
Instead of creating the internal ring at mempool creation, do it when populating the mempool with the first memory chunk. The objective here is to simplify the change of external handler when it will be introduced. For instance, this will be possible: mp = rte_mempool_create_empty(...)

[dpdk-dev] [PATCH 28/36] mempool: rework support of xen dom0

2016-04-14 Thread Olivier Matz
Avoid to have a specific file for that, and remove #ifdefs. Now that we have introduced a function to populate a mempool with a virtual area, the support of xen dom0 is much easier. The only thing we need to do is to convert the guest physical address into the machine physical address using

[dpdk-dev] [PATCH 27/36] eal/xen: return machine address without knowing memseg id

2016-04-14 Thread Olivier Matz
The conversion from guest physical address to machine physical address is fast when the caller knows the memseg corresponding to the gpa. But in case the user does not know this information, just find it by browsing the segments. This feature will be used by next commit. Signed-off-by: Olivier

[dpdk-dev] [PATCH 26/36] mempool: introduce a function to create an empty mempool

2016-04-14 Thread Olivier Matz
Introduce a new function rte_mempool_create_empty() that allocates a mempool that is not populated. The functions rte_mempool_create() and rte_mempool_xmem_create() now make use of it, making their code much easier to read. Currently, they are the only users of rte_mempool_create_empty() but the

[dpdk-dev] [PATCH 25/36] mempool: introduce a function to free a mempool

2016-04-14 Thread Olivier Matz
Introduce rte_mempool_free() that: - unlink the mempool from the global list if it is found - free all the memory chunks using their free callbacks - free the internal ring - free the memzone containing the mempool Currently this function is only used in error cases when creating a new mempool,

[dpdk-dev] [PATCH 24/36] mempool: replace mempool physaddr by a memzone pointer

2016-04-14 Thread Olivier Matz
Storing the pointer to the memzone instead of the physical address provides more information than just the physical address: for instance, the memzone flags. Moreover, keeping the memzone pointer will allow us to free the mempool (this is done later in the series). Signed-off-by: Olivier Matz

[dpdk-dev] [PATCH 23/36] mempool: support no-hugepage mode

2016-04-14 Thread Olivier Matz
Introduce a new function rte_mempool_populate_virt() that is now called by default when hugepages are not supported. This function populate the mempool with several physically contiguous chunks whose minimum size is the page size of the system. Thanks to this, rte_mempool_create() will work

[dpdk-dev] [PATCH 22/36] eal: lock memory when using no-huge

2016-04-14 Thread Olivier Matz
Although the physical address won't be correct in memory segment, this allows at least to retrieve the physical address using rte_mem_virt2phy(). Indeed, if the page is not locked, the page may not be present in physical memory. With next commit, it allows a mempool to have properly filled

[dpdk-dev] [PATCH 21/36] mempool: default allocation in several memory chunks

2016-04-14 Thread Olivier Matz
Introduce rte_mempool_populate_default() which allocates mempool objects in several memzones. The mempool header is now always allocated in a specific memzone (not with its objects). Thanks to this modification, we can remove many specific behavior that was required when hugepages are not enabled

[dpdk-dev] [PATCH 20/36] mempool: make page size optional when getting xmem size

2016-04-14 Thread Olivier Matz
Update rte_mempool_xmem_size() so that when the page_shift argument is set to 0, assume that memory is physically contiguous, allowing to ignore page boundaries. This will be used in the next commits. By the way, rename the variable 'n' as 'obj_per_page' and avoid the affectation inside the if().

[dpdk-dev] [PATCH 19/36] mempool: introduce a free callback for memory chunks

2016-04-14 Thread Olivier Matz
Introduce a free callback that is passed to the populate* functions, which is used when freeing a mempool. This is unused now, but as next commits will populate the mempool with several chunks of memory, we need a way to free them properly on error. Later in the series, we will also introduce a

[dpdk-dev] [PATCH 18/36] mempool: simplify xmem_usage

2016-04-14 Thread Olivier Matz
Since previous commit, the function rte_mempool_xmem_usage() is now the last user of rte_mempool_obj_mem_iter(). This complex code can now be moved inside the function. We can get rid of the callback and do some simplification to make the code more readable. Signed-off-by: Olivier Matz ---

[dpdk-dev] [PATCH 17/36] mempool: new function to iterate the memory chunks

2016-04-14 Thread Olivier Matz
In the same model than rte_mempool_obj_iter(), introduce rte_mempool_mem_iter() to iterate the memory chunks attached to the mempool. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 16 lib/librte_mempool/rte_mempool.h | 27

[dpdk-dev] [PATCH 16/36] mempool: store memory chunks in a list

2016-04-14 Thread Olivier Matz
Do not use paddr table to store the mempool memory chunks. This will allow to have several chunks with different virtual addresses. Signed-off-by: Olivier Matz --- app/test/test_mempool.c | 2 +- lib/librte_mempool/rte_mempool.c | 205 ++-

[dpdk-dev] [PATCH 15/36] mempool: remove MEMPOOL_IS_CONTIG()

2016-04-14 Thread Olivier Matz
The next commits will change the behavior of the mempool library so that the objects will never be allocated in the same memzone than the mempool header. Therefore, there is no reason to keep this macro that would always return 0. This macro was only used in app/test. Signed-off-by: Olivier Matz

[dpdk-dev] [PATCH 14/36] mempool: store physaddr in mempool objects

2016-04-14 Thread Olivier Matz
Store the physical address of the object in its header. It simplifies rte_mempool_virt2phy() and prepares the removing of the paddr[] table in the mempool header. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 17 +++-- lib/librte_mempool/rte_mempool.h | 11

[dpdk-dev] [PATCH 12/36] mempool: use the list to initialize mempool objects

2016-04-14 Thread Olivier Matz
Before this patch, the mempool elements were initialized at the time they were added to the mempool. This patch changes this to do the initialization of all objects once the mempool is populated, using rte_mempool_obj_iter() introduced in previous commits. Thanks to this modification, we are

[dpdk-dev] [PATCH 11/36] mempool: use the list to audit all elements

2016-04-14 Thread Olivier Matz
Use the new rte_mempool_obj_iter() instead the old rte_mempool_obj_iter() to iterate among objects to audit them (check for cookies). Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 41 ++-- 1 file changed, 6 insertions(+), 35 deletions(-)

[dpdk-dev] [PATCH 09/36] mempool: remove const qualifier in dump and audit

2016-04-14 Thread Olivier Matz
In next commits, we will use an iterator to walk through the objects in mempool in rte_mempool_audit(). This iterator takes a "struct rte_mempool *" as a parameter because it is assumed that the callback function can modify the mempool. The previous approach was to introduce a RTE_DECONST()

[dpdk-dev] [PATCH 08/36] mempool: remove const attribute in mempool_walk

2016-04-14 Thread Olivier Matz
Most functions that can be done on a mempool require a non-const mempool pointer, except the dump and the audit. Therefore, the mempool_walk() is more useful if the mempool pointer is not const. This is required by next commit where the mellanox drivers use rte_mempool_walk() to iterate the

[dpdk-dev] [PATCH 06/36] mempool: update library version

2016-04-14 Thread Olivier Matz
Next changes of this patch series are too heavy to keep a compat layer. So bump the version number of the library. Signed-off-by: Olivier Matz --- doc/guides/rel_notes/release_16_04.rst | 2 +- lib/librte_mempool/Makefile| 2 +- lib/librte_mempool/rte_mempool_version.map | 6

[dpdk-dev] [PATCH 05/36] mempool: rename mempool_obj_ctor_t as mempool_obj_cb_t

2016-04-14 Thread Olivier Matz
In next commits, we will add the ability to populate the mempool and iterate through objects using the same function. We will use the same callback type for that. As the callback is not a constructor anymore, rename it into rte_mempool_obj_cb_t. The rte_mempool_obj_iter_t that was used to iterate

[dpdk-dev] [PATCH 04/36] mempool: use sizeof to get the size of header and trailer

2016-04-14 Thread Olivier Matz
Since commits d2e0ca22f and 97e7e685b the headers and trailers of the mempool are defined as a structure. We can get their size using a sizeof instead of doing a calculation that will become wrong at the first structure update. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c |

[dpdk-dev] [PATCH 03/36] mempool: uninline function to check cookies

2016-04-14 Thread Olivier Matz
There's no reason to keep this function inlined. Move it to rte_mempool.c. Note: we don't see it in the patch, but the #pragma ignoring "-Wcast-qual" is still there in the C file. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 68 +++

[dpdk-dev] [PATCH 02/36] mempool: replace elt_size by total_elt_size

2016-04-14 Thread Olivier Matz
In some mempool functions, we use the size of the elements as arguments or in variables. There is a confusion between the size including or not including the header and trailer. To avoid this confusion: - update the API documentation - rename the variables and argument names as "elt_size" when

[dpdk-dev] [PATCH 01/36] mempool: fix comments and style

2016-04-14 Thread Olivier Matz
No functional change, just fix some comments and styling issues. Also avoid to duplicate comments between rte_mempool_create() and rte_mempool_xmem_create(). Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 17 +--- lib/librte_mempool/rte_mempool.h | 59

[dpdk-dev] [PATCH 00/36] mempool: rework memory allocation

2016-04-14 Thread Olivier Matz
This series is a rework of mempool. For those who don't want to read all the cover letter, here is a sumary: - it is not possible to allocate large mempools if there is not enough contiguous memory, this series solves this issue - introduce new APIs with less arguments: "create, populate,

[dpdk-dev] [PATCH v1 1/1] ixgbe: fix queue stop

2016-04-14 Thread Piotr Azarewicz
It should be checked if queue enable bit is clear. CID 13215 : Wrong operator used (CONSTANT_EXPRESSION_RESULT) operator_confusion: txdctl | 33554432 is always 1/true regardless of the values of its operand. This occurs as the logical second operand of '&&'. CID 13216 : Wrong operator used

[dpdk-dev] [PATCH] examples/ip_pipeline: fix out-of-bounds write

2016-04-14 Thread Marcin Kerlin
CID 124567: In the function app_init_eal(struct app params * app) number of entries into array exceeds the size of the array if the conditions are fulfilled. Fixes: 7f64b9c004aa ("examples/ip_pipeline: rework config file syntax") Signed-off-by: Marcin Kerlin --- examples/ip_pipeline/app.h |

[dpdk-dev] [PATCH] examples: fix CID 30708 out-of-bounds read

2016-04-14 Thread Slawomir Mrozowicz
It fix coverity issue: CID 30708 (#1 of 1): Out-of-bounds read (OVERRUN) 12. overrun-local: Overrunning array tokens of 8 8-byte elements at element index 4294967294 (byte offset 34359738352) using index i (which evaluates to 4294967294). Fixes: de3cfa2c9823 ("sched: initial import")

[dpdk-dev] [PATCH v5] mempool: reduce rte_mempool structure size

2016-04-14 Thread Olivier Matz
From: Keith Wiles The rte_mempool structure is changed, which will cause an ABI change for this structure. Providing backward compat is not reasonable here as this structure is used in multiple defines/inlines. Allow mempool cache support to be dynamic depending on if the

[dpdk-dev] [PATCH] i40e: improve performance of vector PMD

2016-04-14 Thread Bruce Richardson
An analysis of the i40e code using Intel? VTune? Amplifier 2016 showed that the code was unexpectedly causing stalls due to "Loads blocked by Store Forwards". This can occur when a load from memory has to wait due to the prior store being to the same address, but being of a smaller size i.e. the

[dpdk-dev] [RFC 2/2] librte_ether: add new fields to rte_eth_dev_info struct

2016-04-14 Thread Reshma Pattan
New fields nb_rx_queues and nb_tx_queues are added to rte_eth_dev_info structure. Changes to API rte_eth_dev_info_get() are done to update these new fields to rte_eth_dev_info object. Signed-off-by:reshma Pattan --- lib/librte_ether/rte_ethdev.c | 2 ++ lib/librte_ether/rte_ethdev.h | 3 +++ 2

[dpdk-dev] [RFC 1/2] doc: announce ABI change for rte_eth_dev_info structure

2016-04-14 Thread Reshma Pattan
New fields nb_rx_queues and nb_tx_queues will be added to rte_eth_dev_info structure. Changes to API rte_eth_dev_info_get() will be done to update these new fields to rte_eth_dev_info object. Signed-off-by:reshma Pattan --- doc/guides/rel_notes/deprecation.rst | 6 ++ 1 file changed, 6

[dpdk-dev] [RFC 0/2] add new fields to rte_eth_dev_info structure

2016-04-14 Thread Reshma Pattan
New fields nb_rx_queues and nb_tx_queues are added to rte_eth_dev_info structure. Changes to API rte_eth_dev_info_get() are done to update these new fields to rte_eth_dev_info object. These changes are ABI breakage and we are late to announce deprecation notice for 16.07, however the rte_ether

[dpdk-dev] [PATCH] bond: inherit maximum rx packet length

2016-04-14 Thread Eric Kinzie
Instead of a hard-coded maximum receive length, allow the bond interface to inherit this limit from the first slave added. This allows an application that uses jumbo frames to pass realistic values to rte_eth_dev_configure without causing an error. Signed-off-by: Eric Kinzie ---

[dpdk-dev] [PATCH v1] doc: add template release notes for 16.07

2016-04-14 Thread Thomas Monjalon
2016-04-12 13:55, John McNamara: > Added template release notes for DPDK 16.07 with inline > explanations of the various sections. > > Signed-off-by: John McNamara Applied, thanks

[dpdk-dev] memory allocation requirements

2016-04-14 Thread Sergio Gonzalez Monroy
On 13/04/2016 17:03, Thomas Monjalon wrote: > After looking at the patches for container support, it appears that > some changes are needed in the memory management: > http://thread.gmane.org/gmane.comp.networking.dpdk.devel/32786/focus=32788 +1 > I think it is time to collect what are the needs

[dpdk-dev] Issue on rte_sched.c

2016-04-14 Thread Thomas Monjalon
2016-04-13 20:35, Ariel Rodriguez: > Hello, viewing the new code of librte_sched/ i found this line strange ... > > #if defined(__SSE4__) Are you refering to http://dpdk.org/commit/90f455f ? > if instead i use : > > #if defined(__SSE4_2__) || defined(__SSE4_1__) > > works like a charm ... >

[dpdk-dev] ethtool doesnt work on some interface after unbinding dpdk

2016-04-14 Thread Remy Horton
Morning, On 13/04/2016 15:48, Gopakumar Choorakkot Edakkunni wrote: [..] > then after a while I > unbind from igb_uio and bind them back to igb/ixgbe. At this point, one of > the 4 igb ports (random) stops responding to ethtool, ethtool bails out > with some error. But otherwise the interface

[dpdk-dev] [PATCH] examples: fix CID 30704 negative loop bound

2016-04-14 Thread Slawomir Mrozowicz
It fix coverity issue: CID 30704 (#1 of 1): Negative loop bound (NEGATIVE_RETURNS) 8. negative_returns: Using unsigned variable n_tokens in a loop exit condition. Date: Thu, 14 Apr 2016 13:15:49 +0200 Message-Id: <1460632549-20942-1-git-send-email-slawomirx.mrozowicz at intel.com> X-Mailer:

[dpdk-dev] Bug in i40e PMD for flexible payload

2016-04-14 Thread Wu, Jingjing
Thanks, Michael. Ack to your change. Could you send patch for that? Thanks Jingjing > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Michael Habibi > Sent: Thursday, March 24, 2016 2:45 AM > To: dev at dpdk.org > Subject: [dpdk-dev] Bug in i40e PMD for

[dpdk-dev] [PATCH v1] drivers/net/i40e: fix incorrect register dump offset

2016-04-14 Thread Wu, Jingjing
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Remy Horton > Sent: Wednesday, April 13, 2016 5:45 PM > To: Zhang, Helin > Cc: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v1] drivers/net/i40e: fix incorrect register dump > offset > > The position of