[dpdk-dev] [PATCH v4] vhost: allocate and free packets in bulk in Tx split

2021-06-08 Thread Balazs Nemeth
Same idea as commit a287ac28919d ("vhost: allocate and free packets in bulk in Tx packed"), allocate and free packets in bulk. Also remove the unused function virtio_dev_pktmbuf_alloc. Signed-off-by: Balazs Nemeth Reviewed-by: Maxime Coquelin --- lib/vhost/virtio_

[dpdk-dev] [PATCH v3] vhost: allocate and free packets in bulk in Tx split

2021-06-08 Thread Balazs Nemeth
Same idea as commit a287ac28919d ("vhost: allocate and free packets in bulk in Tx packed"), allocate and free packets in bulk. Also remove the unused function virtio_dev_pktmbuf_alloc. Signed-off-by: Balazs Nemeth Reviewed-by: Maxime Coquelin --- lib/vhost/virtio_

[dpdk-dev] [PATCH v2] vhost: allocate and free packets in bulk in Tx split

2021-06-04 Thread Balazs Nemeth
Same idea as commit a287ac28919d ("vhost: allocate and free packets in bulk in Tx packed"), allocate and free packets in bulk. Also remove the unused function virtio_dev_pktmbuf_alloc. Signed-off-by: Balazs Nemeth --- lib/vhost/virtio_net.c | 37 ---

[dpdk-dev] [PATCH] vhost: allocate and free packets in bulk in Tx split

2021-05-28 Thread Balazs Nemeth
Same idea as commit a287ac28919d ("vhost: allocate and free packets in bulk in Tx packed"), allocate and free packets in bulk. Also remove the unused function virtio_dev_pktmbuf_alloc. Signed-off-by: Balazs Nemeth --- lib/vhost/virtio_net.c | 37 ---

[dpdk-dev] [PATCH] vhost: fix invalid use of stored last used index

2021-05-14 Thread Balazs Nemeth
_packed. Fixes: d18db8049c7c ("vhost: read last used index once") Signed-off-by: Balazs Nemeth --- lib/vhost/virtio_net.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c index abfd67d38c..8da8a86a10 100644 --- a/lib/vho

Re: [dpdk-dev] [PATCH v3] vhost: read last used index once

2021-05-10 Thread Balazs Nemeth
Hi Ling, I will take a look. Thanks for reporting. Regards, Balazs On Sat, May 8, 2021 at 10:44 AM Ling, WeiX wrote: > Hi Balazs Nemeth, > > Your patch cause a bug about virtio-user can't recieve packets when use > packed ring and ring size is 255. > > Please have a l

[dpdk-dev] [PATCH v5] vhost: allocate and free packets in bulk in Tx packed

2021-04-16 Thread Balazs Nemeth
Move allocation out further and perform all allocation in bulk. The same goes for freeing packets. In the process, also introduce virtio_dev_pktmbuf_prep and make virtio_dev_pktmbuf_alloc use that. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 80

[dpdk-dev] [PATCH v4] vhost: allocate and free packets in bulk

2021-04-16 Thread Balazs Nemeth
Move allocation out further and perform all allocation in bulk. The same goes for freeing packets. In the process, also introduce virtio_dev_pktmbuf_prep and make virtio_dev_pktmbuf_alloc use that. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 80

Re: [dpdk-dev] [PATCH v3] vhost: allocate and free packets in bulk

2021-04-16 Thread Balazs Nemeth
ubmit other patches for tx split later. Would that work for now? Regards, Balazs On Fri, Apr 16, 2021 at 11:05 AM David Marchand wrote: > On Fri, Apr 16, 2021 at 10:18 AM Balazs Nemeth wrote: > > > > Move allocation out further and perform all allocation in bulk. The same > >

[dpdk-dev] [PATCH v3] vhost: allocate and free packets in bulk

2021-04-16 Thread Balazs Nemeth
Move allocation out further and perform all allocation in bulk. The same goes for freeing packets. In the process, also rename virtio_dev_pktmbuf_alloc to virtio_dev_pktmbuf_prep. This function now receives an already allocated mbuf pointer. Signed-off-by: Balazs Nemeth --- lib/librte_vhost

[dpdk-dev] [PATCH v3] vhost: don't track remaining packets separately

2021-04-13 Thread Balazs Nemeth
The remained variable stores the same information as the difference between count and pkt_idx. Remove the remained variable to simplify. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 13 +++-- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/lib

[dpdk-dev] [PATCH v2] vhost: don't track remaining packets separately

2021-04-13 Thread Balazs Nemeth
The remained variable stores the same information as the difference between count and pkt_idx. Remove the remained variable to simplify. --- lib/librte_vhost/virtio_net.c | 13 +++-- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_v

[dpdk-dev] [PATCH] vhost: don't track remaining packets separately

2021-04-08 Thread Balazs Nemeth
The remained variable stores the same information as the difference between count and pkt_idx. Remove the remained variable to simplify. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 12 +++- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib

[dpdk-dev] [PATCH v2 4/4] vhost: remove unnecessary level of indirection

2021-04-07 Thread Balazs Nemeth
There is no need to pass a pointer to an mbuf pointer. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c index 2f0c97b91..1d3ad18fe 100644

[dpdk-dev] [PATCH v2 3/4] vhost: allocate and free packets in bulk

2021-04-07 Thread Balazs Nemeth
Now that all allocation and freeing has been moved together, use the faster bulk versions instead of handling packets one by one. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/librte_vhost

[dpdk-dev] [PATCH v2 2/4] vhost: perform all mbuf allocations in one loop

2021-04-07 Thread Balazs Nemeth
Move allocation out further and perform all allocation in one loop. The same goes for freeing packets. This is to prepare for use of bulk versions of these functions. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 18 ++ 1 file changed, 6 insertions(+), 12

[dpdk-dev] [PATCH v2 1/4] vhost: move allocation of mbuf outside of packet enqueue

2021-04-07 Thread Balazs Nemeth
In preparation for subsequent patches, move mbuf allocation out and rename virtio_dev_pktmbuf_alloc to virtio_dev_pktmbuf_prep. This function now receives an already allocated mbuf pointer. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 54

[dpdk-dev] [PATCH v3] vhost: read last used index once

2021-04-07 Thread Balazs Nemeth
Instead of calculating the address of a packed descriptor based on the vq->desc_packed and vq->last_used_idx every time, store that base address in desc_base. On arm, this saves 176 bytes in code size of function in which vhost_flush_enqueue_batch_packed gets inlined. Signed-off-by: Balazs

[dpdk-dev] [PATCH v2] vhost: read last used index once

2021-04-07 Thread Balazs Nemeth
Instead of calculating the address of a packed descriptor based on the vq->desc_packed and vq->last_used_idx every time, store that base address in desc_base. On arm, this saves 176 bytes in code size of function in which vhost_flush_enqueue_batch_packed gets inlined. Signed-off-by: Balazs

[dpdk-dev] [PATCH] vhost: read last used index once

2021-04-06 Thread Balazs Nemeth
Instead of calculating the address of a packed descriptor based on the vq->desc_packed and vq->last_used_idx every time, store that base address in desc_base. On arm, this saves 176 bytes in code size of function in which vhost_flush_enqueue_batch_packed gets inlined. --- lib/librte_vhost/virtio_n

[dpdk-dev] [PATCH 4/4] vhost: remove unnecessary level of indirection

2021-04-06 Thread Balazs Nemeth
There is no need to pass a pointer to an mbuf pointer. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c index e1696c0c0..179c57b46 100644

[dpdk-dev] [PATCH 3/4] vhost: allocate and free packets in bulk

2021-04-06 Thread Balazs Nemeth
Now that all allocation and freeing has been moved together, use the faster bulk versions instead of handling packets one by one. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/librte_vhost

[dpdk-dev] [PATCH 2/4] vhost: perform all mbuf allocations in one loop

2021-04-06 Thread Balazs Nemeth
Move allocation out further and perform all allocation in one loop. The same goes for freeing packets. This is to prepare for use of bulk versions of these functions. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 18 ++ 1 file changed, 6 insertions(+), 12

[dpdk-dev] [PATCH 1/4] vhost: move allocation of mbuf outside of packet enqueue

2021-04-06 Thread Balazs Nemeth
In preparation for subsequent patches, move mbuf allocation out and rename virtio_dev_pktmbuf_alloc to virtio_dev_pktmbuf_prep. This function now receives an already allocated mbuf pointer. Signed-off-by: Balazs Nemeth --- lib/librte_vhost/virtio_net.c | 54

[dpdk-dev] [PATCH 0/4] Use bulk alloc/free in virtio packed

2021-04-06 Thread Balazs Nemeth
Use the faster bulk versions of alloc and free in virtio packed path. Balazs Nemeth (4): vhost: move allocation of mbuf outside of packet enqueue vhost: perform all mbuf allocations in one loop vhost: allocate and free packets in bulk vhost: remove unnecessary level of indirection lib

Re: [dpdk-dev] [PATCH v4 0/4] net/virtio: make virtqueue struct cache-friendly

2021-03-29 Thread Balazs Nemeth
tio/virtqueue.h    | 24 --- >  14 files changed, 87 insertions(+), 75 deletions(-) > Tested this in a PVP setup on ARM, giving a slight improvement in performance. For the series: Tested-by: Balazs Nemeth

Re: [dpdk-dev] [PATCH v4 0/3] vhost: make virtqueue cache-friendly

2021-03-29 Thread Balazs Nemeth
ting to get the numbers as I > > suspect the cache pressure is higher in this test as > > in real use-cases. > > > > Changes in v4: > > == > > - Fix missing changes to boolean (Chenbo) > > > > For the series, > Reviewed-by: David Marchand > > Merci ! > > Tested this in a PVP setup on ARM, giving a slight improvement in performance. For the series: Tested-by: Balazs Nemeth

[dpdk-dev] [PATCH v2 7/7] net/qede: remove unnecessary field in Rx entry and simplify

2021-03-26 Thread Balazs Nemeth
The member page_offset is always zero. Having this in the qede_rx_entry makes it larger than it needs to be and this has cache performance implications so remove that field. In addition, since qede_rx_entry only has an rte_mbuf*, remove the definition of qede_rx_entry. Signed-off-by: Balazs

[dpdk-dev] [PATCH v2 6/7] net/qede: prefetch next packet to free

2021-03-26 Thread Balazs Nemeth
While handling the current mbuf, pull the next mbuf into the cache. Note that the last four mbufs pulled into the cache are not handled, but that doesn't matter. Signed-off-by: Balazs Nemeth Reviewed-by: Igor Russkikh --- drivers/net/qede/qede_rxtx.c | 6 ++ 1 file changed, 6 inser

[dpdk-dev] [PATCH v2 5/7] net/qede: prefetch hardware consumer

2021-03-26 Thread Balazs Nemeth
Ensure that, while ecore_chain_get_cons_idx is running, txq->hw_cons_ptr is prefetched. This shows a slight performance improvement. Signed-off-by: Balazs Nemeth Reviewed-by: Igor Russkikh --- drivers/net/qede/qede_rxtx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/q

[dpdk-dev] [PATCH v2 4/7] net/qede: free packets in bulk instead of one by one

2021-03-26 Thread Balazs Nemeth
is that on each call, the per-core cache pointer needs to be read from tls while a single rte_mempool_put_bulk only reads from the tls once. Signed-off-by: Balazs Nemeth Reviewed-by: Igor Russkikh --- drivers/net/qede/qede_rxtx.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion

[dpdk-dev] [PATCH v2 3/7] net/qede: assume mbuf to free is never null

2021-03-26 Thread Balazs Nemeth
The ring txq->sw_tx_ring is managed with txq->sw_tx_cons. As long as txq->sw_tx_cons is correct, there is no need to check if txq->sw_tx_ring[idx] is null explicitly. Signed-off-by: Balazs Nemeth Reviewed-by: Igor Russkikh --- drivers/net/qede/qede

[dpdk-dev] [PATCH v2 2/7] net/qede: get consumer index once

2021-03-26 Thread Balazs Nemeth
Calling ecore_chain_get_cons_idx repeatedly is slower than calling it once and using the result for the remainder of qede_process_tx_compl. Signed-off-by: Balazs Nemeth Reviewed-by: Igor Russkikh --- drivers/net/qede/qede_rxtx.c | 22 ++ 1 file changed, 14 insertions(+), 8

[dpdk-dev] [PATCH v2 0/7] Optimize qede use of Rx/Tx entries

2021-03-26 Thread Balazs Nemeth
improvement of around 2.55% is observed due to this patch set. Changes in v2: - Fix checkpatches.sh warnings - Fix check-git-log.sh warnings - Add Reviewed-by: Igor Russkikh Balazs Nemeth (7): net/qede: remove flags from Tx entry net/qede: get consumer index once net/qede: assume mbuf

[dpdk-dev] [PATCH v2 1/7] net/qede: remove flags from Tx entry

2021-03-26 Thread Balazs Nemeth
to be copied over. This patch omits the flags field and replaces the qede_tx_entry entry by a simple rte_mbuf pointer. Signed-off-by: Balazs Nemeth Reviewed-by: Igor Russkikh --- drivers/net/qede/qede_rxtx.c | 22 -- drivers/net/qede/qede_rxtx.h | 10 +- 2 files

Re: [dpdk-dev] [EXT] [PATCH 0/8] Optimize qede use of rx/tx_entries

2021-03-24 Thread Balazs Nemeth
On Wed, 2021-03-24 at 14:48 +0530, Jerin Jacob wrote: > On Mon, Mar 22, 2021 at 10:38 PM Igor Russkikh > wrote: > > > > > > > > On 3/5/2021 2:13 PM, Balazs Nemeth wrote: > > > External Email > > > > > > ---

[dpdk-dev] [PATCH 1/8] net/qede: remove flags from qede_tx_entry and simplify to rte_mbuf

2021-03-05 Thread Balazs Nemeth
to be copied over. This patch omits the flags field and replaces the qede_tx_entry entry by a simple rte_mbuf pointer. Signed-off-by: Balazs Nemeth --- drivers/net/qede/qede_rxtx.c | 20 ++-- drivers/net/qede/qede_rxtx.h | 10 +- 2 files changed, 11 insertions(+), 19

[dpdk-dev] [PATCH 8/8] net/qede: remove page_offset from struct qede_rx_entry and simplify

2021-03-05 Thread Balazs Nemeth
The member page_offset is always zero. Having this in the qede_rx_entry makes it larger than it needs to be and this has cache performance implications so remove that field. In addition, since qede_rx_entry only has an rte_mbuf*, remove the definition of qede_rx_entry. Signed-off-by: Balazs

[dpdk-dev] [PATCH 7/8] net/qede: prefetch next packet to free

2021-03-05 Thread Balazs Nemeth
While handling the current mbuf, pull the next next mbuf into the cache. Note that the last four mbufs pulled into the cache are not handled, but that doesn't matter. Signed-off-by: Balazs Nemeth --- drivers/net/qede/qede_rxtx.c | 5 + 1 file changed, 5 insertions(+) diff --git a/dr

[dpdk-dev] [PATCH 6/8] net/qede: prefetch txq->hw_cons_ptr

2021-03-05 Thread Balazs Nemeth
Ensure that, while ecore_chain_get_cons_idx is running, txq->hw_cons_ptr is prefetched. This shows a slight performance improvement. Signed-off-by: Balazs Nemeth --- drivers/net/qede/qede_rxtx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/q

[dpdk-dev] [PATCH 5/8] net/qede: use rte_pktmbuf_free_bulk instead of rte_pktmbuf_free

2021-03-05 Thread Balazs Nemeth
is that on each call, the per-core cache pointer needs to be read from tls while a single rte_mempool_put_bulk only reads from the tls once. Signed-off-by: Balazs Nemeth --- drivers/net/qede/qede_rxtx.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net

[dpdk-dev] [PATCH 4/8] net/qede: inline qede_free_tx_pkt to prepare for rte_pktmbuf_free_bulk

2021-03-05 Thread Balazs Nemeth
The next patch will introduce the use of rte_pktmbuf_free_bulk. Signed-off-by: Balazs Nemeth --- drivers/net/qede/qede_rxtx.c | 51 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c

[dpdk-dev] [PATCH 3/8] net/qede: assume txq->sw_tx_ring[idx] is never null in qede_free_tx_pkt

2021-03-05 Thread Balazs Nemeth
The ring txq->sw_tx_ring is managed with txq->sw_tx_cons. As long as txq->sw_tx_cons is correct, there is no need to check if txq->sw_tx_ring[idx] is null explicitly. Signed-off-by: Balazs Nemeth --- drivers/net/qede/qede_rxtx.c | 27 +++ 1 file changed, 1

[dpdk-dev] [PATCH 2/8] net/qede: avoid repeatedly calling ecore_chain_get_cons_idx

2021-03-05 Thread Balazs Nemeth
Calling ecore_chain_get_cons_idx repeatedly is slower than calling it once and using the result for the remainder of qede_process_tx_compl. Signed-off-by: Balazs Nemeth --- drivers/net/qede/qede_rxtx.c | 23 +++ 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a

[dpdk-dev] [PATCH 0/8] Optimize qede use of rx/tx_entries

2021-03-05 Thread Balazs Nemeth
improvement of around 2.55% is observed due to this patch set. Balazs Nemeth (8): net/qede: remove flags from qede_tx_entry and simplify to rte_mbuf net/qede: avoid repeatedly calling ecore_chain_get_cons_idx net/qede: assume txq->sw_tx_ring[idx] is never null in qede_free_tx_pkt net/q

Re: [dpdk-dev] Potential regression introduced by commit b10231aed1edb9

2020-12-30 Thread Balazs Nemeth
;t have changed that. > I will prepare a fix patch for this. > > On 18/12/2020 2:34 pm, Balazs Nemeth wrote: > > Hi, > > > > introduces a regression on my systems. I have a > > "QLogic Corp. FastLinQ QL41000 Series 10/25/40/50GbE Controller" >

[dpdk-dev] [PATCH v2] net/qede: fix regression introduced by b10231aed1ed

2020-12-23 Thread Balazs Nemeth
When calling rte_eth_promiscuous_enable(port_id) followed by rte_eth_allmulticast_enable(port_id), the port is not in promisc mode anymore. This patch ensures that promisc mode takes precedence over allmulticast mode fixing the regression introduced by b10231aed1ed. Signed-off-by: Balazs Nemeth

[dpdk-dev] [PATCH] net/qede: fix regression introduced by b10231aed1ed

2020-12-23 Thread Balazs Nemeth
When calling rte_eth_promiscuous_enable(port_id) followed by rte_eth_allmulticast_enable(port_id), the port is not in promisc mode anymore. This patch ensures that promisc mode takes precedence over allmulticast mode fixing the regression introduced by b10231aed1ed. --- drivers/net/qede/qede_ethde

[dpdk-dev] Potential regression introduced by commit b10231aed1edb9

2020-12-18 Thread Balazs Nemeth
Hi, Commit b10231aed1edb9 introduces a regression on my systems. I have a "QLogic Corp. FastLinQ QL41000 Series 10/25/40/50GbE Controller" which relies on the qede driver. Calling rte_eth_promiscuous_enable(portid) followed by rte_eth_allmulticast_enable(port_id) causes no packets to arrive from m

[dpdk-dev] [PATCH v2 1/1] ixgbe: Fix phy errors in stats->ierrors

2015-07-20 Thread Balazs Nemeth
ierrors. > Validated with testpmd by sending packets to the interface without > forwarding enabled - packets should be dropped and the error counters > incremented. > v2: > - specified the commit that this bug fix fixes Acked-by: Balazs Nemeth

[dpdk-dev] [PATCH] ixgbe: logic change in ixgbe_check_mac_link_vf().

2014-12-19 Thread Balazs Nemeth
This patch is a workaround for the issue at the level of the ixgbe driver code. The problem can actually be fixed at the level of DPDK instead. Furthermore, this patch circumvents the problem by moving the check that determines if the link status needs to be read (which always fails because get_li

[dpdk-dev] [PATCH] ixgbe: fix link speed detection of ixgbevf

2014-12-19 Thread Balazs Nemeth
This patch is actually a workaround to the problem. By setting get_link_status just before calling ixgbe_check_link defeats the whole purpose of the variable and results in _always_ getting the link status. I think that this patch should be superseded by the following patch: http://dpdk.org/dev/pa

[dpdk-dev] [PATCH v2] ixgbe_vf: Fix getting link state

2014-12-18 Thread Balazs Nemeth
, link 1 up): ... Checking link status ..done Port 0 Link Down Port 1 Link Up - speed 1 Mbps - full-duplex ... Signed-off-by: Balazs Nemeth --- changes v2: * Include more elaborate explanation of the problem

[dpdk-dev] [PATCH] ixgbe_vf: Fix getting link state

2014-12-17 Thread Balazs Nemeth
. Signed-off-by: Balazs Nemeth --- lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h | 2 +- lib/librte_pmd_ixgbe/ixgbe/ixgbe_vf.c | 14 -- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 8 +++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/librte_pmd_ixgbe/ixgbe

[dpdk-dev] [PATCH] ixgbe: Add missing rx_mbuf_alloc_failed statistics for vector PMD

2014-11-28 Thread Balazs Nemeth
vector PMD or non-vector PMD depends on runtime configuration. Hence it is possible that a change in configuration would disable this statistics. To prevent this from happening, the statistics should be reported by both implementations. Signed-off-by: Balazs Nemeth --- lib/librte_pmd_ixgbe

[dpdk-dev] [PATCH] ixgbe: fix crash caused by bulk allocation failure in vector pmd

2014-09-26 Thread Balazs Nemeth
associated to those descriptors are set to point to a "fake" mbuf. Signed-off-by: Balazs Nemeth --- lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 19 +++ 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c b/lib/librte

[dpdk-dev] [PATCH 4/4] table: fix pointer calculations at initialization

2014-09-26 Thread Balazs Nemeth
rte_table_hash) bytes. As a consequence, memory past the allocated region can be accessed by the add, delete and lookup operations. This patch corrects the address calculation by not including the size of the meta data in the offsets. Acked-by: Cristian Dumitrescu Signed-off-by: Balazs Nemeth --- lib

[dpdk-dev] [PATCH 3/4] table: fix incorrect t->data_size_shl initialization

2014-09-26 Thread Balazs Nemeth
(as provided to the rte_table_hash_ext_create and rte_table_hash_lru_create) has to be used instead of the size of the key. Acked-by: Cristian Dumitrescu Signed-off-by: Balazs Nemeth --- lib/librte_table/rte_table_hash_ext.c | 2 +- lib/librte_table/rte_table_hash_lru.c | 2 +- 2 files changed

[dpdk-dev] [PATCH 2/4] table: fix checking extended buckets in unoptimized case

2014-09-26 Thread Balazs Nemeth
: Balazs Nemeth --- lib/librte_table/rte_table_hash_key16.c | 4 ++-- lib/librte_table/rte_table_hash_key32.c | 4 ++-- lib/librte_table/rte_table_hash_key8.c | 8 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/librte_table/rte_table_hash_key16.c b/lib/librte_table

[dpdk-dev] [PATCH 1/4] table: fix empty bucket removal during entry deletion in rte_table_hash_ext

2014-09-26 Thread Balazs Nemeth
cleared first, the chain is broken and the information to update the chain is lost. Acked-by: Cristian Dumitrescu Signed-off-by: Balazs Nemeth --- lib/librte_table/rte_table_hash_ext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librte_table/rte_table_hash_ext.c b

[dpdk-dev] [PATCH 0/4] table: fix bugs occuring in corner cases

2014-09-26 Thread Balazs Nemeth
This set of patches fixes bugs in the packet framework. Some of the bugs occur in corner cases (i.e. when a lookup is performed on a few packets or when buckets are in extended states) while others can cause memory to be accessed beyond what is reserved during initialization time. Balazs Nemeth

[dpdk-dev] [PATCH 4/4] table: fix pointer calculations at initialization

2014-09-25 Thread Balazs Nemeth
rte_table_hash) bytes. As a consequence, memory past the allocated region can be accessed by the add, delete and lookup operations. This patch corrects the address calculation by not including the size of the meta data in the offsets. Acked-by: Cristian Dumitrescu Signed-off-by: Balazs Nemeth --- lib

[dpdk-dev] [PATCH 3/4] table: fix incorrect t->data_size_shl initialization

2014-09-25 Thread Balazs Nemeth
(as provided to the rte_table_hash_ext_create and rte_table_hash_lru_create) has to be used instead of the size of the key. Acked-by: Cristian Dumitrescu Signed-off-by: Balazs Nemeth --- lib/librte_table/rte_table_hash_ext.c | 2 +- lib/librte_table/rte_table_hash_lru.c | 2 +- 2 files changed

[dpdk-dev] [PATCH 2/4] table: fix checking extended buckets in unoptimized case

2014-09-25 Thread Balazs Nemeth
: Balazs Nemeth --- lib/librte_table/rte_table_hash_key16.c | 4 ++-- lib/librte_table/rte_table_hash_key32.c | 4 ++-- lib/librte_table/rte_table_hash_key8.c | 8 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/librte_table/rte_table_hash_key16.c b/lib/librte_table

[dpdk-dev] [PATCH 1/4] table: fix empty bucket removal during entry deletion in rte_table_hash_ext

2014-09-25 Thread Balazs Nemeth
cleared first, the chain is broken and the information to update the chain is lost. Acked-by: Cristian Dumitrescu Signed-off-by: Balazs Nemeth --- lib/librte_table/rte_table_hash_ext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librte_table/rte_table_hash_ext.c b

[dpdk-dev] [PATCH 0/4] table: fix bugs occuring in corner cases

2014-09-25 Thread Balazs Nemeth
This set of patches fixes bugs in the packet framework. Some of the bugs occur in corner cases (i.e. when a lookup is performed on a few packets or when buckets are in extended states) while others can cause memory to be accessed beyond what is reserved during initialization time. Balazs Nemeth

[dpdk-dev] [PATCH] lib/librte_pmd_ixgbe: Fix crash caused by bulk allocation failure

2014-09-25 Thread Balazs Nemeth
associated to those descriptors are set to point to a "fake" mbuf. Signed-off-by: Balazs Nemeth --- lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 19 +++ 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c b/lib/librte

[dpdk-dev] [PATCH 4/4] lib/librte_table: Fix pointer calculations at initialization

2014-09-11 Thread Balazs Nemeth
rte_table_hash) bytes. As a consequence, memory past the allocated region can be accessed by the add, delete and lookup operations. This patch corrects the address calculation by not including the size of the meta data in the offsets. Signed-off-by: Balazs Nemeth --- lib/librte_table/rte_table_hash_ext.c

[dpdk-dev] [PATCH 3/4] lib/librte_table: Fix incorrect t->data_size_shl initialization

2014-09-11 Thread Balazs Nemeth
(as provided to the rte_table_hash_ext_create and rte_table_hash_lru_create) has to be used instead of the size of the key. Signed-off-by: Balazs Nemeth --- lib/librte_table/rte_table_hash_ext.c | 2 +- lib/librte_table/rte_table_hash_lru.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) d

[dpdk-dev] [PATCH 2/4] lib/librte_table: Fix checking extended buckets in unoptimized case

2014-09-11 Thread Balazs Nemeth
case the lookup is performed with less than 5 packets, an unoptimized version is run instead (the optimized version requires at least 5 packets). The extended buckets should also be checked in this case instead of simply ignoring the extended buckets. Signed-off-by: Balazs Nemeth --- lib

[dpdk-dev] [PATCH 1/4] lib/librte_table: Fix empty bucket removal during entry deletion in rte_table_hash_ext

2014-09-11 Thread Balazs Nemeth
cleared first, the chain is broken and the information to update the chain is lost. Signed-off-by: Balazs Nemeth --- lib/librte_table/rte_table_hash_ext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librte_table/rte_table_hash_ext.c b/lib/librte_table

[dpdk-dev] [PATCH 0/4] lib/librte_table: Fix bugs occuring in corner cases

2014-09-11 Thread Balazs Nemeth
This set of patches fixes bugs in the packet framework. Some of the bugs occur in corner cases (i.e. when a lookup is performed on a few packets or when buckets are in extended states) while others can cause memory to be accessed beyond what is reserved during initialization time. Balazs Nemeth

[dpdk-dev] Non-argv dependant rte_eal_init() call

2013-08-01 Thread Balazs Nemeth
Letting DPDK deduce de cpus and memchannels is just a move of feautures in your application. In some cases you might want to limit the number of cores. It's just simple a way to allow more control when initializing DPDK. Kind Regards Balazs Nemeth Hasselt University, Belgium 2nd Mast