Re: [dpdk-dev] [PATCH v4] mbuf: fix mbuf free performance with non atomic refcnt

2017-12-08 Thread Ilya Matveychikov
Olivier, > On Dec 8, 2017, at 7:46 PM, Olivier Matz wrote: > > > lib/librte_mbuf/rte_mbuf.h | 23 ++- > 1 file changed, 18 insertions(+), 5 deletions(-) > > diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h > index ce8a05ddf..dd08cb72b 100644 > --- a/lib/

Re: [dpdk-dev] A question about GRO neighbor packet matching

2017-12-06 Thread Ilya Matveychikov
> On Dec 7, 2017, at 5:01 AM, Stephen Hemminger > wrote: > > Ok, went RFC hunting and the relevant one seems to be RFC 6864. > It mandates unique id's for each datagram so TCP does send them. > > Thanks for mention such the RFC, never heard about it.

Re: [dpdk-dev] A question about GRO neighbor packet matching

2017-12-06 Thread Ilya Matveychikov
> On Dec 6, 2017, at 10:12 PM, Stephen Hemminger > wrote: > > On Wed, 6 Dec 2017 18:02:21 +0400 > Ilya Matveychikov wrote: > >> Hello all, >> >> >> My question is about neighbor packet matching algorithm for TCP. Is it >> correct to

[dpdk-dev] A question about GRO neighbor packet matching

2017-12-06 Thread Ilya Matveychikov
Hello all, My question is about neighbor packet matching algorithm for TCP. Is it correct to expect that IP packets should have continuous ID enumeration (i.e. iph-next.id = iph-prev.id + 1)? ~~~ lib/librte_gro/gro_tcp4.c:check_seq_option() ... /* check if the two packets are nei

Re: [dpdk-dev] [PATCH] debug: update assertion macro

2017-11-19 Thread Ilya Matveychikov
> On Nov 19, 2017, at 12:18 PM, Ilya Matveychikov > wrote: > > Update RTE_VERIFY macro to make it possible to use complex expressions > in RTE_ASSERT. > > Signed-off-by: Ilya V. Matveychikov > > Fixes: 148f963fb532 ("xen: core library changes&qu

[dpdk-dev] [PATCH] debug: update assertion macro

2017-11-19 Thread Ilya Matveychikov
Update RTE_VERIFY macro to make it possible to use complex expressions in RTE_ASSERT. Signed-off-by: Ilya V. Matveychikov Fixes: 148f963fb532 ("xen: core library changes") Cc: bruce.richard...@intel.com --- Now it's incorrect to use complex expressions for assertion like RTE_ASSERT((1 + 2) == 3

Re: [dpdk-dev] [PATCH 2/2] mbuf: reset nb_segs of chained packet

2017-11-16 Thread Ilya Matveychikov
> On Nov 16, 2017, at 9:01 PM, Stephen Hemminger > wrote: > > On Thu, 16 Nov 2017 18:05:35 +0400 > Ilya Matveychikov wrote: > >> Fixes: 139debc42dc0 ("mbuf: move chaining from ip_frag library") >> Cc: simon.kagst...@netinsight.net >> >>

[dpdk-dev] [PATCH 2/2] mbuf: reset nb_segs of chained packet

2017-11-16 Thread Ilya Matveychikov
Fixes: 139debc42dc0 ("mbuf: move chaining from ip_frag library") Cc: simon.kagst...@netinsight.net Signed-off-by: Ilya V. Matveychikov --- lib/librte_mbuf/rte_mbuf.h | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h in

[dpdk-dev] [PATCH 1/2] mbuf: check sanity of data_len and pkt_len as well

2017-11-16 Thread Ilya Matveychikov
Signed-off-by: Ilya V. Matveychikov --- lib/librte_mbuf/rte_mbuf.c | 23 +++ 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c index 7543662f7..491685c36 100644 --- a/lib/librte_mbuf/rte_mbuf.c +++ b/lib/libr

[dpdk-dev] [PATCH 0/2] Two more patches to mbuf

2017-11-16 Thread Ilya Matveychikov
Please, review two more patches to mbuf. Ilya V. Matveychikov (2): mbuf: check sanity of data_len and pkt_len as well mbuf: reset nb_segs of chained packet lib/librte_mbuf/rte_mbuf.c | 23 +++ lib/librte_mbuf/rte_mbuf.h | 5 - 2 files changed, 19 insertions(+), 9 del

Re: [dpdk-dev] [PATCH v3] mbuf: cleanup rte_pktmbuf_lastseg(), fix atomic usage

2017-11-16 Thread Ilya Matveychikov
> On Nov 16, 2017, at 1:37 PM, Olivier MATZ wrote: > > On Thu, Nov 16, 2017 at 01:32:13PM +0400, Ilya Matveychikov wrote: >> >>> On Nov 16, 2017, at 1:06 PM, Hanoch Haim (hhaim) wrote: >>> >>> Understood >>> >>> rte_mbuf_refcnt

Re: [dpdk-dev] [PATCH v3] mbuf: cleanup rte_pktmbuf_lastseg(), fix atomic usage

2017-11-16 Thread Ilya Matveychikov
> On Nov 16, 2017, at 1:06 PM, Hanoch Haim (hhaim) wrote: > > Understood > > rte_mbuf_refcnt_update_blind() > > should be good., it will take care the RTE_MBUF_REFCNT_ATOMIC > Why guys not to add just __rte_mbuf_refcnt_update() as a wrapper over rte_atomic16_add_return() and use it in in

Re: [dpdk-dev] [PATCH v3] mbuf: cleanup rte_pktmbuf_lastseg(), fix atomic usage

2017-11-16 Thread Ilya Matveychikov
> On Nov 16, 2017, at 11:16 AM, Hanoch Haim (hhaim) wrote: > > Hi Oliver, > > It's hard for me to follow this thread. > > 1) It is not about clear/not-clear, it is error prone to *replicate* code > that has the same logic. > > "I'm not convinced that: > >__rte_pktmbuf_reset_nb_segs(m

Re: [dpdk-dev] [PATCH v3] mbuf: cleanup rte_pktmbuf_lastseg(), fix atomic usage

2017-11-15 Thread Ilya Matveychikov
> On Nov 15, 2017, at 1:14 PM, Hanoh Haim wrote: > > Signed-off-by: Hanoh Haim > --- > lib/librte_mbuf/rte_mbuf.h | 27 +-- > 1 file changed, 13 insertions(+), 14 deletions(-) > > diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h > index 7e326bb..ab110

Re: [dpdk-dev] [PATCH] mbuf: cleanup rte_pktmbuf_lastseg(), remove useless variable

2017-11-14 Thread Ilya Matveychikov
> On Nov 15, 2017, at 12:32 AM, Hanoch Haim (hhaim) wrote: > > I would add this too > > - } else if (rte_atomic16_add_return(&m->refcnt_atomic, -1) == 0) > > Should be : > > + } else if (likely(rte_mbuf_refcnt_update(m, -1) == 0)) { > > > Hanoh > Why not to send the separate patch for t

[dpdk-dev] [PATCH] mbuf: cleanup rte_pktmbuf_lastseg(), remove useless variable

2017-11-14 Thread Ilya Matveychikov
Fixes: af75078fece3 ("first public release") Cc: intel.com Signed-off-by: Ilya V. Matveychikov --- There is no reason to have local variable m2 or am I wrong? lib/librte_mbuf/rte_mbuf.h | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib

[dpdk-dev] [PATCH] net/bnxt: remove unused rx_tpa from bnxt_rx_queue{}

2017-11-14 Thread Ilya Matveychikov
Signed-off-by: Ilya V. Matveychikov --- drivers/net/bnxt/bnxt_rxq.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxq.h b/drivers/net/bnxt/bnxt_rxq.h index 508731eec..be190195a 100644 --- a/drivers/net/bnxt/bnxt_rxq.h +++ b/drivers/net/bnxt/bnxt_rxq.h @@ -59,8 +59,6 @

Re: [dpdk-dev] A question about (poor) rte_ethdev internal rx/tx callbacks design

2017-11-13 Thread Ilya Matveychikov
> On Nov 13, 2017, at 9:15 PM, Adrien Mazarguil > wrote: > > On Mon, Nov 13, 2017 at 02:56:23PM +0400, Ilya Matveychikov wrote: >> >>> On Nov 13, 2017, at 2:39 PM, Adrien Mazarguil >>> wrote: >>> >>> On Sat, Nov 11, 2017 at

Re: [dpdk-dev] A question about (poor) rte_ethdev internal rx/tx callbacks design

2017-11-13 Thread Ilya Matveychikov
> On Nov 13, 2017, at 2:39 PM, Adrien Mazarguil > wrote: > > On Sat, Nov 11, 2017 at 09:18:45PM +0400, Ilya Matveychikov wrote: >> Folks, >> >> Are you serious with it: >> >> typedef uint16_t (*eth_rx_burst_t)(void *rxq, >>

Re: [dpdk-dev] [PATCH] mbuf: fix for incomplete nb_segs types change

2017-11-13 Thread Ilya Matveychikov
> But I didn’t try to fix it everywhere in drivers as it may depends of the > particular hardware - does it support more that uint8_t queues or not. So, I > agree with you that maintainers should have a look on that change. does it support more that uint8_t *segments*, not queues :-)

Re: [dpdk-dev] [PATCH] mbuf: fix for incomplete nb_segs types change

2017-11-13 Thread Ilya Matveychikov
> On Nov 13, 2017, at 2:10 PM, Olivier MATZ wrote: > > Hi Ilya, > > On Fri, Nov 10, 2017 at 04:56:43PM +0300, Ilya V. Matveychikov wrote: >> Update types of variables to correspond to nb_segs type change from >> uint8_t to uint16_t. >> >> Fixes: 97cb466d65c9 ("mbuf: use 2 bytes for port and nb

[dpdk-dev] A question about (poor) rte_ethdev internal rx/tx callbacks design

2017-11-11 Thread Ilya Matveychikov
Folks, Are you serious with it: typedef uint16_t (*eth_rx_burst_t)(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts); typedef uint16_t (*eth_tx_burst_t)(void *txq, struct rte_mbuf **tx_p

[dpdk-dev] [PATCH] examples: fix for incomplete nb_segs type change

2017-11-09 Thread Ilya Matveychikov
Fixes: 97cb466d ("mbuf: use 2 bytes for port and nb segments") Signed-off-by: Ilya V. Matveychikov --- doc/guides/sample_app_ug/ipv4_multicast.rst | 2 +- examples/ipv4_multicast/main.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guides/sample_app_ug/ip

[dpdk-dev] [PATCH] drivers/net: fix for incomplete nb_segs type change

2017-11-09 Thread Ilya Matveychikov
Fixes: 97cb466d ("mbuf: use 2 bytes for port and nb segments") Signed-off-by: Ilya V. Matveychikov --- drivers/net/ark/ark_ethdev_rx.c | 2 +- drivers/net/i40e/i40e_rxtx.c| 9 +++-- drivers/net/ixgbe/ixgbe_rxtx.c | 2 +- drivers/net/qede/qede_rxtx.c| 4

[dpdk-dev] [PATCH] mbuf: fix for incomplete nb_segs/port types change

2017-11-09 Thread Ilya Matveychikov
Update types of variables to correspond to nb_segs type change from uint8_t to uint16_t. Also, use 0x instead of 0xff to specify invalid port value. Fixes: 97cb466d ("mbuf: use 2 bytes for port and nb segments") Signed-off-by: Ilya V. Matveychikov --- lib/librte_mbuf/rte_mbuf.c | 6 +++---

[dpdk-dev] [PATCH] pdump: fix possible mbuf leak

2017-11-09 Thread Ilya Matveychikov
If pdump_pktmbuf_copy_data() fails it's possible to have segment leak as rte_pktmbuf_free() only handles m_dup chain but not the seg just allocated and yet not chained. Fixes: 278f9454 ("pdump: add new library for packet capture") Signed-off-by: Ilya V. Matveychikov --- lib/librte_pdump/rte_pdum

[dpdk-dev] net/pcap: remove single interface constraint (v2)

2017-11-05 Thread Ilya Matveychikov
Hello folks, This patch removes single interface constraint from the libpcap-based PMD. The problem it solves is to allow PCAP device consists of more than single device: # testpmd --vdev net_pcap0,iface=vethA,iface=vethB,iface=vethC and so.. I found the issue when performed RSS emulation based

[dpdk-dev] net/pcap: remove single interface constraint

2017-11-05 Thread Ilya Matveychikov
Hello folks, This patch removes single interface constraint from the libpcap-based PMD. The problem it solves is to allow PCAP device consists of more than single device: # testpmd --vdev net_pcap0,iface=vethA,iface=vethB,iface=vethC and so.. I found the issue when performed RSS emulation base

Re: [dpdk-dev] A (possible) problem with `--no-huge` option

2017-06-09 Thread Ilya Matveychikov
Hi Olivier, The patch from you solves the problem for me. Thank you. > On Jun 9, 2017, at 12:27 PM, Olivier Matz wrote: > > Hi Ilya, > > On Sun, 14 May 2017 14:34:14 +0400, Ilya Matveychikov > wrote: >> Hi guys, >> >> I have a problem while running DP

[dpdk-dev] A (possible) problem with `--no-huge` option

2017-05-14 Thread Ilya Matveychikov
in advice, Ilya Matveychikov.

Re: [dpdk-dev] [PATCH] mbuf: remove redundant line in rte_pktmbuf_attach

2017-01-24 Thread Ilya Matveychikov
> On Jan 24, 2017, at 4:56 PM, Olivier MATZ wrote: > > Hi, > > On Sat, 21 Jan 2017 16:28:29 +, "Ananyev, Konstantin" > wrote: >>> -Original Message- >>> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Ilya >>> Matve

Re: [dpdk-dev] [PATCH] mbuf: remove redundant line in rte_pktmbuf_attach

2017-01-21 Thread Ilya Matveychikov
> On Jan 20, 2017, at 4:08 PM, Ferruh Yigit wrote: > > On 1/20/2017 12:19 AM, Ilya Matveychikov wrote: >> mi->next will be assigned to NULL few lines later, trivial patch >> >> Signed-off-by: Ilya V. Matveychikov >> --- >> lib/librte_mbuf/rte_

[dpdk-dev] [PATCH] mbuf: remove redundant line in rte_pktmbuf_attach

2017-01-19 Thread Ilya Matveychikov
mi->next will be assigned to NULL few lines later, trivial patch Signed-off-by: Ilya V. Matveychikov --- lib/librte_mbuf/rte_mbuf.h | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index ead7c6e..5589d54 100644 --- a/lib/librte_mbuf/rte_m

[dpdk-dev] [PATCH] examples: fix ip_pipeline makefile typo

2016-11-23 Thread Ilya Matveychikov
Signed-off-by: Ilya V. Matveychikov --- examples/ip_pipeline/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ip_pipeline/Makefile b/examples/ip_pipeline/Makefile index 5827117..6657237 100644 --- a/examples/ip_pipeline/Makefile +++ b/examples/ip_pipeline/Make