[dpdk-dev] [PATCH 0/9] qede: update qede PMD to 1.1.0.1

2016-05-23 Thread Rasesh Mody
Hi Bruce, > From: Rasesh Mody [mailto:rasesh.mody at qlogic.com] > Sent: Friday, May 06, 2016 9:30 PM > > This patch set adds support for enabling 100G mode for QEDE PMD. > It also adds support for APIs like > - mtu_set > - reta_update > - reta_query > - rss_hash_update > - rss_hash_conf_get

[dpdk-dev] [PATCH v4] i40e: configure MTU

2016-05-23 Thread Wu, Jingjing
> -Original Message- > From: Xing, Beilei > Sent: Friday, May 20, 2016 11:17 PM > To: Wu, Jingjing > Cc: dev at dpdk.org; Xing, Beilei > Subject: [PATCH v4] i40e: configure MTU > > This patch enables configuring MTU for i40e. > Since changing MTU needs to reconfigure queue, stop port fir

[dpdk-dev] Suggestions for the dpdk stable tree

2016-05-23 Thread Yuanhan Liu
On Fri, May 20, 2016 at 02:49:31PM +, Mcnamara, John wrote: > > -Original Message- > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Christian Ehrhardt > > Sent: Friday, May 20, 2016 9:07 AM > > To: dev ; Stephen Hemminger > > Subject: Re: [dpdk-dev] Suggestions for the dpdk

[dpdk-dev] [PATCH] examples/ethtool: include case for 64-bit registers

2016-05-23 Thread Zyta Szpak
Hi, sorry on my late reply I was on sick leave. Sure I can do that. This fix was the fastest possible without interfering with DPDK API. I will add the callback then. Regards, Zyta Szpak On 20.05.2016 10:25, Remy Horton wrote: > Morning, > > On 11/05/2016 11:48, zr at semihalf.com wrote: >> Fro

[dpdk-dev] [PATCH] mk: Fix cruft getting installed by "make install" with tar >= 1.29

2016-05-23 Thread Panu Matilainen
--exclude became a positional option in tar 1.29, breaking the test app filtering in "make install", causing .map files and all test apps to get installed in bindir. Adjust the tar arguments accordingly, this is compatible with older versions too since they do not care about the order. Ref: https:

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

2016-05-23 Thread Olivier Matz
Hi Panu, Thomas, On 05/20/2016 11:09 AM, Thomas Monjalon wrote: > 2016-05-20 11:42, Panu Matilainen: >> Just noticed this series "breaks" --no-huge as a regular user, commit >> 593a084afc2b to be exact: >> >> mmap(NULL, 4194304, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_ANONYMOUS|MAP_LOCKED, 0, 0

[dpdk-dev] [PATCH] mbuf: remove unused Rx error flags

2016-05-23 Thread Olivier Matz
Following the discussions from: http://dpdk.org/ml/archives/dev/2015-July/021721.html http://dpdk.org/ml/archives/dev/2016-April/038143.html The value of these flags is 0, making them useless. Today, no example application checks them on Rx, and only few drivers sets them and silently give wrong p

[dpdk-dev] [RFC] mbuf: new flag when vlan is stripped

2016-05-23 Thread Olivier Matz
Hi John, On 05/12/2016 10:36 PM, John Daley (johndale) wrote: >> ... This is a draft patch that implements what was previously >> discussed, except the packet_type, which does not exist for vlan >> today (and I think it is not mandatory for now, let's do it in >> another patch). >> >> After doing

[dpdk-dev] limited tx performance with VMware VM + PCI pass-through

2016-05-23 Thread Grisha Freilikhman
Setup ThinkServer RD650, Intel Xeon E5-2680 v3 2*x710 ports pass-through (i40e driver) Dpdk 2.1 Dpdk app doing forwarding from one port to another Results When more than 7.5(50% of wire speed) MPPS sent with 64 bytes, Tx fails(rte_eth_tx_burst return with l

[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped

2016-05-23 Thread Olivier Matz
The behavior of PKT_RX_VLAN_PKT was not very well defined, resulting in PMDs not advertising the same flags in similar conditions. Following discussion in [1], introduce 2 new flags PKT_RX_VLAN_STRIPPED and PKT_RX_QINQ_STRIPPED that are better defined: PKT_RX_VLAN_STRIPPED: a vlan has been stri

[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped

2016-05-23 Thread Ananyev, Konstantin
Hi Olivier, > -Original Message- > From: Olivier Matz [mailto:olivier.matz at 6wind.com] > Sent: Monday, May 23, 2016 9:47 AM > To: dev at dpdk.org > Cc: johndale at cisco.com; Ananyev, Konstantin; Zhang, Helin; > adrien.mazarguil at 6wind.com; rahul.lakkireddy at chelsio.com; > alejandro

[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped

2016-05-23 Thread Olivier Matz
Hi Konstantin, On 05/23/2016 10:59 AM, Ananyev, Konstantin wrote: > Hi Olivier, > >> -Original Message- >> From: Olivier Matz [mailto:olivier.matz at 6wind.com] >> Sent: Monday, May 23, 2016 9:47 AM >> To: dev at dpdk.org >> Cc: johndale at cisco.com; Ananyev, Konstantin; Zhang, Helin; >

[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped

2016-05-23 Thread Ananyev, Konstantin
> -Original Message- > From: Olivier Matz [mailto:olivier.matz at 6wind.com] > Sent: Monday, May 23, 2016 9:47 AM > To: dev at dpdk.org > Cc: johndale at cisco.com; Ananyev, Konstantin; Zhang, Helin; > adrien.mazarguil at 6wind.com; rahul.lakkireddy at chelsio.com; > alejandro.lucero at

[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped

2016-05-23 Thread Ananyev, Konstantin
> -Original Message- > From: Olivier Matz [mailto:olivier.matz at 6wind.com] > Sent: Monday, May 23, 2016 10:13 AM > To: Ananyev, Konstantin; dev at dpdk.org > Cc: johndale at cisco.com; Zhang, Helin; adrien.mazarguil at 6wind.com; > rahul.lakkireddy at chelsio.com; > alejandro.lucero at

[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped

2016-05-23 Thread Olivier Matz
Hi, >>> I don't see ixgbe/i4oe_rxtx_vec.c updated. >>> Would it be another patch for them? >> >> The ixgbe vector and i40e vector do not support vlan stripping, > > As I remember, they do. You are right, I misinterpreted this code in condition_check(): #ifndef RTE_IXGBE_RX_OLFLAGS_ENABLE

[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped

2016-05-23 Thread Olivier Matz
>> static inline uint64_t >> -rx_desc_status_to_pkt_flags(uint32_t rx_status) >> +rx_desc_status_to_pkt_flags(uint32_t rx_status, uint8_t vlan_strip) >> { >> uint64_t pkt_flags; >> +uint64_t vlan_flags; >> + >> +/* if vlan is stripped, set the proper flag */ >> +if (vlan_strip)

[dpdk-dev] [PATCH] vhost: fix segfault on bad descriptor address.

2016-05-23 Thread Yuanhan Liu
On Fri, May 20, 2016 at 03:50:04PM +0300, Ilya Maximets wrote: > In current implementation guest application can reinitialize vrings > by executing start after stop. In the same time host application > can still poll virtqueue while device stopped in guest and it will > crash with segmentation faul

[dpdk-dev] [PATCH] vhost: fix segfault on bad descriptor address.

2016-05-23 Thread Ilya Maximets
On 23.05.2016 13:57, Yuanhan Liu wrote: > On Fri, May 20, 2016 at 03:50:04PM +0300, Ilya Maximets wrote: >> In current implementation guest application can reinitialize vrings >> by executing start after stop. In the same time host application >> can still poll virtqueue while device stopped in gue

[dpdk-dev] [PATCH] mbuf: make rearm_data address naturally aligned

2016-05-23 Thread Olivier Matz
Hi, On 05/19/2016 05:50 PM, Thomas Monjalon wrote: > 2016-05-19 19:05, Jerin Jacob: >> On Thu, May 19, 2016 at 12:18:57PM +, Ananyev, Konstantin wrote: On Thu, May 19, 2016 at 12:20:16AM +0530, Jerin Jacob wrote: > On Wed, May 18, 2016 at 05:43:00PM +0100, Bruce Richardson wrote:

[dpdk-dev] [PATCH v2] rte mempool: division or modulo by zero

2016-05-23 Thread Olivier Matz
On 05/19/2016 02:36 PM, Slawomir Mrozowicz wrote: > Fix issue reported by Coverity. > > Coverity ID 13243: Division or modulo by zero > In function call rte_mempool_xmem_size, division by expression total_size > which may be zero has undefined behavior. > > Fixes: 148f963fb532 ("xen: core libra

[dpdk-dev] [PATCH 4/4] pmd_hw_support.py: Add tool to query binaries for hw support information

2016-05-23 Thread Panu Matilainen
On 05/20/2016 05:06 PM, Neil Horman wrote: [...] > Look, I think we're simply not going to agree on this issue at all. What > about > this in the way of compromise. I simply am not comfortable with automatically > trying to guess what hardware support will exist in an application based on > the

[dpdk-dev] [PATCH v1 1/1] examples/quota_watermark: fix low_watermark variable placement

2016-05-23 Thread Piotr Azarewicz
qw app at its init stage reserve 2*sizeof(int) memory space for quota and low_watermark shared variables, but both apps (qw and qwctl) assign wrong address for low_watermark pointer (out of reserved memzone space) due to wrong pointer arithmetic. CID 30709 : Extra sizeof expression (SIZEOF_MISMATC

[dpdk-dev] [PATCH] i40e: Unchecked return value

2016-05-23 Thread Slawomir Mrozowicz
Calling i40e_switch_tx_queue without checking return value. Fixed by add warning log information if return failed. Fixes: 71d35259ff67 ("i40e: tear down flow director") Coverity ID 13208 Signed-off-by: Slawomir Mrozowicz --- drivers/net/i40e/i40e_fdir.c | 5 - 1 file changed, 4 insertions(+

[dpdk-dev] [dpdk-dev,v5,1/3] mempool: support external handler

2016-05-23 Thread Jan Viktorin
Hello David, please, see my comments inline. I didn't see the previous versions of the mempool (well, only very roughly) so I am probably missing some points... My point of view is as a user of the handler API. I need to understand the API to implement a custom handler for my purposes. On Thu,

[dpdk-dev] [dpdk-dev, v5, 3/3] mbuf: get default mempool handler from configuration

2016-05-23 Thread Jan Viktorin
On Thu, 19 May 2016 14:45:01 +0100 David Hunt wrote: > 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 defau

[dpdk-dev] [dpdk-dev, v5, 2/3] app/test: test external mempool handler

2016-05-23 Thread Jan Viktorin
On Thu, 19 May 2016 14:45:00 +0100 David Hunt wrote: > Use a minimal custom mempool external handler and check that it also > passes basic mempool autotests. > > Signed-off-by: Olivier Matz > Signed-off-by: David Hunt > > --- > app/test/test_mempool.c | 113 +++

[dpdk-dev] [PATCH v2 1/3] mempool: add stack (lifo) mempool handler

2016-05-23 Thread Olivier Matz
Hi David, Please find some comments below. On 05/19/2016 04:48 PM, David Hunt wrote: > This is a mempool handler that is useful for pipelining apps, where > the mempool cache doesn't really work - example, where we have one > core doing rx (and alloc), and another core doing Tx (and return). In >

[dpdk-dev] [PATCH v2 2/3] mempool: make declaration of handler structs const

2016-05-23 Thread Olivier Matz
Hi David, On 05/19/2016 04:48 PM, David Hunt wrote: > For security, any data structure with function pointers should be const > > Signed-off-by: David Hunt I think this should be merged in the patchset adding the mempool handler feature.

[dpdk-dev] [PATCH v2 5/7] eal/linux: mmap ioports on ppc64

2016-05-23 Thread Yuanhan Liu
On Tue, May 17, 2016 at 05:54:01PM +0200, David Marchand wrote: > > +pci_uio_ioport_map(struct rte_pci_device *dev, int bar, > > + struct rte_pci_ioport *p) > > +{ > > + FILE *f; > > + char buf[BUFSIZ]; > > + char filename[PATH_MAX]; > > + uint64_t phys_addr

[dpdk-dev] [PATCH v2] vhost: add support for dynamic vhost PMD creation

2016-05-23 Thread Yuanhan Liu
On Fri, May 20, 2016 at 11:37:47AM +0100, Bruce Richardson wrote: > On Thu, May 19, 2016 at 06:44:44PM +0200, Thomas Monjalon wrote: > > 2016-05-19 17:28, Ferruh Yigit: > > > On 5/19/2016 9:33 AM, Thomas Monjalon wrote: > > > > 2016-05-18 18:10, Ferruh Yigit: > > > >> Add rte_eth_from_vhost() API t

[dpdk-dev] virtio: crash when using multiple processes (16.04 regression)

2016-05-23 Thread Yuanhan Liu
On Thu, May 19, 2016 at 04:20:40PM +, Yoni Gilad wrote: > Hi, > > We have encountered a crash in virtio_xmit_pkts (specifically, in the call to > virtqueue_notify) when running DPDK in a multi-process setup. This is a > regression in DPDK 16.04. > > The culprit seems to be the field vtpci_o

[dpdk-dev] unable to bind to vfio_pci inside RHEL virtual machine.

2016-05-23 Thread DING, TAO
Hello dpdk dev, Do you know if the vfio_pci can be bind to network interface from within RedHat virtual machine ? I read the doc that igb_uio should not be used ; it is not stable. (http://people.redhat.com/~pmatilai/dpdk-guide/index.html) however I cannot use vfio_pci driver from inside VM.

[dpdk-dev] [PATCH v2 5/7] eal/linux: mmap ioports on ppc64

2016-05-23 Thread Olivier Matz
Hi Yuanhan, On 05/23/2016 03:07 PM, Yuanhan Liu wrote: > On Tue, May 17, 2016 at 05:54:01PM +0200, David Marchand wrote: >>> +pci_uio_ioport_map(struct rte_pci_device *dev, int bar, >>> + struct rte_pci_ioport *p) >>> +{ >>> + FILE *f; >>> + char buf[BUFSIZ]; >>> +

[dpdk-dev] [PATCH] virtio: check mbuf is direct when using any layout

2016-05-23 Thread Yuanhan Liu
On Mon, May 09, 2016 at 06:19:35PM +0200, Olivier Matz wrote: > The commit dd856dfcb9e74 introduced an optimization that prepends virtio > header to mbuf data. It can be used when the tx mbuf is writeable, so we > need to check that the mbuf is direct (i.e. it embeds its own data). > > Fixes: dd85

[dpdk-dev] [PATCH 4/4] pmd_hw_support.py: Add tool to query binaries for hw support information

2016-05-23 Thread Neil Horman
On Mon, May 23, 2016 at 02:56:18PM +0300, Panu Matilainen wrote: > On 05/20/2016 05:06 PM, Neil Horman wrote: > [...] > > Look, I think we're simply not going to agree on this issue at all. What > > about > > this in the way of compromise. I simply am not comfortable with > > automatically > >

[dpdk-dev] [PATCH v2] doc: add known issue with EAL argv

2016-05-23 Thread Jingjing Wu
This patch docs the issue on EAL argument that the last EAL argument is replaced by program name in argv[]. Reported-by: Ziye Yang Signed-off-by: Jingjing Wu --- doc/guides/rel_notes/known_issues.rst | 21 + 1 file changed, 21 insertions(+) diff --git a/doc/guides/rel_notes

[dpdk-dev] [PATCH] crypto: fix control issues in aesni pmd

2016-05-23 Thread Deepak Kumar Jain
From: "Jain, Deepak K" Fix the control issues for return value Fixes: 924e84f87306 ("aesni_mb: add driver for multi buffer based crypto") Coverity ID 126585 Signed-off-by: Deepak Kumar Jain --- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) d

[dpdk-dev] [PATCH] crypto: fix null pointer dereferencing

2016-05-23 Thread Deepak Kumar Jain
From: "Jain, Deepak K" Fix null pointer dereferencing by reporing if null and exiting the function. Fixes: c0f87eb5252b ("cryptodev: change burst API to be crypto op oriented") Coverity issue: 126584 Signed-off-by: Deepak Kumar Jain --- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 4 +++- 1 f

[dpdk-dev] [PATCH 1/2] rte_kni: Fix documentation.

2016-05-23 Thread ALeX Wang
Sorry for the delayed reply, just sent V2~ On 18 May 2016 at 03:33, Ferruh Yigit wrote: > On 5/14/2016 7:22 PM, Alex Wang wrote: > > From: Alex Wang > > > > The 'mbufs' alloc/free descriptions for 'rte_kni_tx_burst()' > > and 'rte_kni_rx_burst()' should be inverted. > > > > Signed-off-by: Alex

[dpdk-dev] [PATCH 1/2 v2] kni: fix inverted function comments

2016-05-23 Thread Ferruh Yigit
On 5/21/2016 8:25 AM, Alex Wang wrote: > From: Alex Wang > > The 'mbufs' alloc/free descriptions for > 'rte_kni_tx_burst()' and 'rte_kni_rx_burst()' > should be inverted. > > Fixes: 3fc5ca2 (kni: initial import) > > Signed-off-by: Alex Wang Acked-by: Ferruh Yigit

[dpdk-dev] [PATCH 2/2 v2] kni: Add documentation for the mempool capacity

2016-05-23 Thread Ferruh Yigit
On 5/21/2016 8:25 AM, Alex Wang wrote: > From: Alex Wang > > Function like 'rte_kni_rx_burst()' keeps > allocating 'MAX_MBUF_BURST_NUM' mbufs to > kni fifo queue unless the queue's capacity > ('KNI_FIFO_COUNT_MAX') is reached. So, if > the mempool is under-provisioned, user may > run into "Out o

[dpdk-dev] [PATCH v2] vhost: add support for dynamic vhost PMD creation

2016-05-23 Thread Ferruh Yigit
On 5/23/2016 2:24 PM, Yuanhan Liu wrote: > On Fri, May 20, 2016 at 11:37:47AM +0100, Bruce Richardson wrote: >> On Thu, May 19, 2016 at 06:44:44PM +0200, Thomas Monjalon wrote: >>> 2016-05-19 17:28, Ferruh Yigit: On 5/19/2016 9:33 AM, Thomas Monjalon wrote: > 2016-05-18 18:10, Ferruh Yigit

[dpdk-dev] [PATCH 2/2 v2] kni: Add documentation for the mempool capacity

2016-05-23 Thread Ferruh Yigit
On 5/23/2016 6:00 PM, Ferruh Yigit wrote: > On 5/21/2016 8:25 AM, Alex Wang wrote: >> From: Alex Wang >> >> Function like 'rte_kni_rx_burst()' keeps >> allocating 'MAX_MBUF_BURST_NUM' mbufs to >> kni fifo queue unless the queue's capacity >> ('KNI_FIFO_COUNT_MAX') is reached. So, if >> the mempoo

[dpdk-dev] [PATCH v4 4/9] librte_ether: make rte_eth_dev_get_port_by_name api public

2016-05-23 Thread Reshma Pattan
Converted rte_eth_dev_get_port_by_name to public API. Signed-off-by: Reshma Pattan --- lib/librte_ether/rte_ethdev.c | 2 +- lib/librte_ether/rte_ethdev.h | 15 +++ lib/librte_ether/rte_ether_version.map | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) dif

[dpdk-dev] [PATCH v4 0/9] add packet capture framework

2016-05-23 Thread Reshma Pattan
This patchset include below changes 1)Changes to librte_ether. 2)New library librte_pdump added for packet capture framework. 3)New app/pdump tool added for packet capturing. 4)Test pmd changes done to initialize packet capture framework. 5)Documentation update. 1)librte_pdump == To s

[dpdk-dev] [PATCH v4 1/9] librte_ether: protect add/remove of rxtx callbacks with spinlocks

2016-05-23 Thread Reshma Pattan
Added spinlocks around add/remove logic of rxtx callbacks to avoid corruption of callback lists in multithreaded context. Signed-off-by: Reshma Pattan --- lib/librte_ether/rte_ethdev.c | 82 +-- 1 file changed, 40 insertions(+), 42 deletions(-) diff --git

[dpdk-dev] [PATCH v4 9/9] doc: announce ABI change for rte_eth_dev_info structure

2016-05-23 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 inse

[dpdk-dev] [PATCH v4 6/9] app/pdump: add pdump tool for packet capturing

2016-05-23 Thread Reshma Pattan
New tool added for packet capturing on dpdk. This tool supports command line options. This tool runs as secondary process by default. Command line supports various parameters to capture the packets. User should pass on a)port and queue (or) b)pci address and queue (or) c)device name and queue to

[dpdk-dev] [PATCH v4 3/9] librte_ether: add new fields to rte_eth_dev_info struct

2016-05-23 Thread Reshma Pattan
Add new fields to rte_eth_dev_info struct 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

[dpdk-dev] [PATCH v4 8/9] doc: update doc for packet capture framework

2016-05-23 Thread Reshma Pattan
Added programmers guide for librte_pdump. Added sample application guide for app/pdump application. Updated release note for packet capture framework changes. Signed-off-by: Reshma Pattan --- MAINTAINERS | 3 + doc/guides/prog_guide/index.rst | 1 + doc/gu

[dpdk-dev] [PATCH v4 2/9] librte_ether: add new api rte_eth_add_first_rx_callback

2016-05-23 Thread Reshma Pattan
Added new public api rte_eth_add_first_rx_callback to add given callback as head of list. Signed-off-by: Reshma Pattan --- lib/librte_ether/rte_ethdev.c | 35 ++ lib/librte_ether/rte_ethdev.h | 27 ++ lib/librte_ether/rte_

[dpdk-dev] [PATCH v4 5/9] lib/librte_pdump: add new library for packet capturing support

2016-05-23 Thread Reshma Pattan
Added new library for packet capturing support. Added public api rte_pdump_init, applications should call this as part of their application setup to have packet capturing framework ready. Added public api rte_pdump_uninit to un initialize the packet capturing framework. Added public apis rte_pdu

[dpdk-dev] [PATCH v4 7/9] app/test-pmd: add pdump initialization uninitialization

2016-05-23 Thread Reshma Pattan
Call rte_pdump_init and rte_pdump_uninit for packet capturing initialization and uninitialization. Signed-off-by: Reshma Pattan --- app/test-pmd/testpmd.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 9d11830..645bf50 100644 --- a

[dpdk-dev] [PATCH v4 3/9] librte_ether: add new fields to rte_eth_dev_info struct

2016-05-23 Thread Stephen Hemminger
On Mon, 23 May 2016 22:38:26 +0100 Reshma Pattan wrote: > Add new fields to rte_eth_dev_info struct > 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. > >

[dpdk-dev] [PATCH 2/2 v2] kni: Add documentation for the mempool capacity

2016-05-23 Thread Alex Wang
Sht, sorry for missing that, sending V3, On Mon, May 23, 2016 at 10:10 AM, Ferruh Yigit wrote: > On 5/23/2016 6:00 PM, Ferruh Yigit wrote: > > On 5/21/2016 8:25 AM, Alex Wang wrote: > >> From: Alex Wang > >> > >> Function like 'rte_kni_rx_burst()' keeps > >> allocating 'MAX_MBUF_BURST_NUM'

[dpdk-dev] [PATCH v2 00/11] enic counter fixes and Tx optimization

2016-05-23 Thread John Daley
The first 3 patches are related to drop counters. The remaining patches make up a refactoring, cleanup and optimization of the Tx path. Changes since v1 are: - subject line fixups after running check-git-log.sh. - Errors reported from patchworks fixed. Note: ./scripts/checkpatches.pl was run

[dpdk-dev] [PATCH v2 01/11] enic: fix Rx drop counters

2016-05-23 Thread John Daley
rx_no_bufs is a hardware counter of packets dropped on the interface due to no host buffers and should be used to update r_stats->imissed counter instead of rx_nombuf. Include rx_drop in ierrors. rx_drop is incremented if packets arrive when the receive queue is disabled. Add a structure and func

[dpdk-dev] [PATCH v2 03/11] enic: count truncated packets

2016-05-23 Thread John Daley
Truncated packets occur on enic if an mbuf is not big enough to receive it or there aren't enough mbufs if rx scatter is in use. They show up as error packets but unlike other error packets (like packets bad FCS) there are no nic drop counts incremented for them. Truncated packets are calculated by

[dpdk-dev] [PATCH v2 02/11] enic: drop bad packets and remove unused Rx error flag

2016-05-23 Thread John Daley
Following the discussions from: http://dpdk.org/ml/archives/dev/2015-July/021721.html http://dpdk.org/ml/archives/dev/2016-April/038143.html Remove the unused flag from enic driver. Also, the enic driver is modified to drop bad packets. Signed-off-by: Olivier Matz Signed-off-by: John Daley ---

[dpdk-dev] [PATCH v2 11/11] enic: add an enic assert macro

2016-05-23 Thread John Daley
Add an ASSERT macro for the enic driver which is enabled when the log level is >= RTE_LOG_DEBUG. Assert that number of mbufs to return to the pool in the Tx function is never greater than the max allowed. Signed-off-by: John Daley --- drivers/net/enic/enic.h | 12 drivers/net/e

[dpdk-dev] [PATCH v2 05/11] enic: remove some unused functions in Tx path

2016-05-23 Thread John Daley
Functions existed which were never called. Removed them. Also rename the 'pmd' from the name of the Tx function to improve clarity. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 45 drivers/net/enic/enic.h | 5 ++- drivers/net/enic/enic_ethdev.

[dpdk-dev] [PATCH v2 09/11] enic: optimize the Tx function

2016-05-23 Thread John Daley
Reduce host CPU overhead of Tx packet processing: * Use local variables inside per packet loop instead of fields in structs. * Factor book keeping and conditionals out of the per packet loop where possible. * Post buffers to the nic at a maximum of every 64 packets Signed-off-by: Nelson Escobar

[dpdk-dev] [PATCH v2 04/11] enic: put Tx and Rx functions into same file

2016-05-23 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/Makefile | 2 +- drivers/net/enic/enic.h| 3 + drivers/net/enic/enic_ethdev.c | 65 -- drivers/net/enic/enic_main.c | 82 +-- drivers/net/enic/enic_rx.c | 343 - drivers/net/enic/enic_rxtx.

[dpdk-dev] [PATCH v2 06/11] enic: streamline mbuf handling in Tx path

2016-05-23 Thread John Daley
The list of mbufs held by the driver on Tx was allocated in chunks (a hold-over from the enic kernel mode driver). The structure used next pointers across chunks which led to cache misses. Allocate the array used to hold mbufs in flight on Tx with rte_zmalloc_socket(). Remove unnecessary fields fr

[dpdk-dev] [PATCH v2 07/11] enic: use Tx completion messages instead of descriptors

2016-05-23 Thread John Daley
The NIC can either DMA a separate completion message for each completed send or periodically just DMA an index of the last completed send. Switch to the second method which improves cache locality and performance. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.c | 1 + drivers/net/

[dpdk-dev] [PATCH v2 08/11] enic: refactor Tx mbuf recycling

2016-05-23 Thread John Daley
Mbufs were returned to the pool one at a time. Use rte_mempool_put_bulk instead. There were muiltiple function calls for each buffer returned. Refactor this code into just 2 functions. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 27 - drivers/net/enic/enic

[dpdk-dev] [PATCH v2 10/11] enic: remove unused files and functions and variables

2016-05-23 Thread John Daley
Remove some files, functions and variables left unused after Tx performance improvements. Signed-off-by: John Daley --- drivers/net/enic/base/enic_vnic_wq.h | 63 drivers/net/enic/base/vnic_cq.h | 44 - drivers/net/enic/base/vnic_