[dpdk-dev] [PATCH 3/4] net/ena: cleanup if refilling of Rx descriptors fails

2017-04-07 Thread Marcin Wojtas
From: Michal Krawczyk 

If wrong number of descriptors for refilling was passed to the Rx
repopulate function, there was memory leak which caused memory pool to
run out of resources in longer go.

In case of fail when refilling Rx descriptors, all additional mbufs
have to be released.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index d875a2b..54ba5c1 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1172,6 +1172,8 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, 
unsigned int count)
rc = ena_com_add_single_rx_desc(rxq->ena_com_io_sq,
&ebuf, next_to_use_masked);
if (unlikely(rc)) {
+   rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbuf),
+count - i);
RTE_LOG(WARNING, PMD, "failed adding rx desc\n");
break;
}
-- 
1.8.3.1



[dpdk-dev] [PATCH 2/4] net/ena: fix delayed cleanup of Rx descriptors

2017-04-07 Thread Marcin Wojtas
From: Michal Krawczyk 

On RX path, after receiving bunch of packets, variable tracking
available descriptors in HW queue was not updated.

To fix this issue, additional variable was added which is storing number
of depleted descriptors updated by number of descriptors used in this
cycle.

Finally whole number is substracted by one to do not refill all
descriptors what is required by the driver.

Fixes: 1daff5260ff8 ("net/ena: use unmasked head and tail")

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 2345bab..d875a2b 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1144,7 +1144,7 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, 
unsigned int count)
return 0;
 
in_use = rxq->next_to_use - rxq->next_to_clean;
-   ena_assert_msg(((in_use + count) <= ring_size), "bad ring state");
+   ena_assert_msg(((in_use + count) < ring_size), "bad ring state");
 
count = RTE_MIN(count,
(uint16_t)(ring_size - (next_to_use & ring_mask)));
@@ -1504,7 +1504,7 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct 
rte_mbuf **rx_pkts,
unsigned int ring_size = rx_ring->ring_size;
unsigned int ring_mask = ring_size - 1;
uint16_t next_to_clean = rx_ring->next_to_clean;
-   uint16_t desc_in_use = 0;
+   uint16_t desc_in_use, desc_to_refill;
unsigned int recv_idx = 0;
struct rte_mbuf *mbuf = NULL;
struct rte_mbuf *mbuf_head = NULL;
@@ -1575,12 +1575,13 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, 
struct rte_mbuf **rx_pkts,
recv_idx++;
}
 
-   /* Burst refill to save doorbells, memory barriers, const interval */
-   if (ring_size - desc_in_use > ENA_RING_DESCS_RATIO(ring_size))
-   ena_populate_rx_queue(rx_ring, ring_size - desc_in_use);
-
rx_ring->next_to_clean = next_to_clean;
 
+   desc_to_refill = ring_size - desc_in_use + completed - 1;
+   /* Burst refill to save doorbells, memory barriers, const interval */
+   if (desc_to_refill > ENA_RING_DESCS_RATIO(ring_size))
+   ena_populate_rx_queue(rx_ring, desc_to_refill);
+
return recv_idx;
 }
 
-- 
1.8.3.1



[dpdk-dev] [PATCH 1/4] net/ena: fix incorrect Rx descriptors allocation

2017-04-07 Thread Marcin Wojtas
From: Michal Krawczyk 

When application tried to allocate 1024 descriptors, device was not
initializing properly.

This patch solves it by avoiding allocation of all descriptors in the ring
in one attempt. At least one descriptor must remain unused in the HW ring.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index b5e6db6..2345bab 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -919,7 +919,7 @@ static int ena_start(struct rte_eth_dev *dev)
 
 static int ena_queue_restart(struct ena_ring *ring)
 {
-   int rc;
+   int rc, bufs_num;
 
ena_assert_msg(ring->configured == 1,
   "Trying to restart unconfigured queue\n");
@@ -930,8 +930,9 @@ static int ena_queue_restart(struct ena_ring *ring)
if (ring->type == ENA_RING_TYPE_TX)
return 0;
 
-   rc = ena_populate_rx_queue(ring, ring->ring_size);
-   if ((unsigned int)rc != ring->ring_size) {
+   bufs_num = ring->ring_size - 1;
+   rc = ena_populate_rx_queue(ring, bufs_num);
+   if (rc != bufs_num) {
PMD_INIT_LOG(ERR, "Failed to populate rx ring !");
return (-1);
}
-- 
1.8.3.1



[dpdk-dev] [PATCH 0/4] Ena PMD fixes

2017-04-07 Thread Marcin Wojtas
Hi,

I sent 4 various fixes for ena PMD. 3 of them fix descriptors
handling and the last one adjusts to the device firmware issue.

We are looking forward to any comments or remarks.

Best regards,
Marcin

Michal Krawczyk (4):
  net/ena: fix incorrect Rx descriptors allocation
  net/ena: fix delayed cleanup of Rx descriptors
  net/ena: cleanup if refilling of Rx descriptors fails
  net/ena: calculate partial checksum if DF bit is disabled

 drivers/net/ena/ena_ethdev.c | 52 
 1 file changed, 33 insertions(+), 19 deletions(-)

-- 
1.8.3.1



[dpdk-dev] [PATCH 4/4] net/ena: calculate partial checksum if DF bit is disabled

2017-04-07 Thread Marcin Wojtas
From: Michal Krawczyk 

When TSO is disabled we still have to calculate partial checksum if DF bit
if turned off. This is caused by firmware bug.

If application will not set m2_len field, we assume we that it was Ethernet
frame because we have to look inside the packet to check for the DF flag.
To make it work properly, PMD is assuming that before sending
packet application called function rte_eth_tx_prepare().

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 30 --
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 54ba5c1..bb2a8ba 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1599,14 +1599,30 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, 
struct rte_mbuf **rx_pkts,
uint64_t ol_flags;
uint16_t frag_field;
 
-   /* ENA needs partial checksum for TSO packets only, skip early */
-   if (!tx_ring->adapter->tso4_supported)
-   return nb_pkts;
-
for (i = 0; i != nb_pkts; i++) {
m = tx_pkts[i];
ol_flags = m->ol_flags;
 
+   /* If there was not L2 header length specified, assume it is
+* length of the ethernet header.
+*/
+   if (unlikely(m->l2_len == 0))
+   m->l2_len = sizeof(struct ether_hdr);
+
+   ip_hdr = rte_pktmbuf_mtod_offset(m, struct ipv4_hdr *,
+m->l2_len);
+   frag_field = rte_be_to_cpu_16(ip_hdr->fragment_offset);
+
+   if ((frag_field & IPV4_HDR_DF_FLAG) != 0) {
+   m->packet_type |= RTE_PTYPE_L4_NONFRAG;
+
+   /* If IPv4 header has DF flag enabled and TSO support is
+* disabled, partial chcecksum should not be calculated.
+*/
+   if (!tx_ring->adapter->tso4_supported)
+   continue;
+   }
+
if ((ol_flags & ENA_TX_OFFLOAD_NOTSUP_MASK) != 0 ||
(ol_flags & PKT_TX_L4_MASK) ==
PKT_TX_SCTP_CKSUM) {
@@ -1625,12 +1641,6 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct 
rte_mbuf **rx_pkts,
if (!(m->ol_flags & PKT_TX_IPV4))
continue;
 
-   ip_hdr = rte_pktmbuf_mtod_offset(m, struct ipv4_hdr *,
-m->l2_len);
-   frag_field = rte_be_to_cpu_16(ip_hdr->fragment_offset);
-   if (frag_field & IPV4_HDR_DF_FLAG)
-   continue;
-
/* In case we are supposed to TSO and have DF not set (DF=0)
 * hardware must be provided with partial checksum, otherwise
 * it will take care of necessary calculations.
-- 
1.8.3.1



[dpdk-dev] [PATCH v2 0/4] Ena PMD fixes

2017-04-10 Thread Marcin Wojtas
Hi,

I sent second version of a patchset with various fixes for ena PMD.
All remarks after v1 review have been taken into account. Details
can be found in the changelog below.

We are looking forward to any comments or remarks.

Best regards,
Marcin

Changelog:
v1 -> v2
  * 1/4:
- Part of the changes related to the allocation of wrong amount of Rx 
  descriptors from patch 2 were moved to patch 1
  * 2/4:
- Remove additional variable desc_to_refill
- Update desc_to_use after reading all descriptors - significant diff
  reduction
- Update information why next_to_use must be assigned before call of the
  ena_rx_populate()
- Update commit message to reflect recent changes
  * 4/4:
- Check for the type of the packet before doing further investigation in TSO

Michal Krawczyk (4):
  net/ena: fix incorrect Rx descriptors allocation
  net/ena: fix delayed cleanup of Rx descriptors
  net/ena: cleanup if refilling of rx descriptors fails
  net/ena: calculate partial checksum if DF bit is disabled

 drivers/net/ena/ena_ethdev.c | 52 
 1 file changed, 33 insertions(+), 19 deletions(-)

-- 
1.8.3.1



[dpdk-dev] [PATCH v2 2/4] net/ena: fix delayed cleanup of Rx descriptors

2017-04-10 Thread Marcin Wojtas
From: Michal Krawczyk 

On RX path, after receiving bunch of packets, variable tracking
available descriptors in HW queue was not updated.

To fix this issue, variable tracking used descriptors must be updated
after receiving packets - it must be reduced by the amount of received
descriptors in current batch.

Additionally, variable next_to_clean in rx_ring must be updated before
entering ena_populate_rx_queue() to keep it up to date with the current
ring state.

Fixes: 1daff5260ff8 ("net/ena: use unmasked head and tail")

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 90cf2ad..b4c713f 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1575,13 +1575,13 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, 
struct rte_mbuf **rx_pkts,
recv_idx++;
}
 
-   desc_in_use += 1;
+   rx_ring->next_to_clean = next_to_clean;
+
+   desc_in_use = desc_in_use - completed + 1;
/* Burst refill to save doorbells, memory barriers, const interval */
if (ring_size - desc_in_use > ENA_RING_DESCS_RATIO(ring_size))
ena_populate_rx_queue(rx_ring, ring_size - desc_in_use);
 
-   rx_ring->next_to_clean = next_to_clean;
-
return recv_idx;
 }
 
-- 
1.8.3.1



[dpdk-dev] [PATCH v2 1/4] net/ena: fix incorrect Rx descriptors allocation

2017-04-10 Thread Marcin Wojtas
From: Michal Krawczyk 

When application tried to allocate 1024 descriptors, device was not
initializing properly.

This patch solves it by avoiding allocation of all descriptors in the
ring in one attempt. At least one descriptor must remain unused in the
HW ring.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index b5e6db6..90cf2ad 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -919,7 +919,7 @@ static int ena_start(struct rte_eth_dev *dev)
 
 static int ena_queue_restart(struct ena_ring *ring)
 {
-   int rc;
+   int rc, bufs_num;
 
ena_assert_msg(ring->configured == 1,
   "Trying to restart unconfigured queue\n");
@@ -930,8 +930,9 @@ static int ena_queue_restart(struct ena_ring *ring)
if (ring->type == ENA_RING_TYPE_TX)
return 0;
 
-   rc = ena_populate_rx_queue(ring, ring->ring_size);
-   if ((unsigned int)rc != ring->ring_size) {
+   bufs_num = ring->ring_size - 1;
+   rc = ena_populate_rx_queue(ring, bufs_num);
+   if (rc != bufs_num) {
PMD_INIT_LOG(ERR, "Failed to populate rx ring !");
return (-1);
}
@@ -1143,7 +1144,7 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, 
unsigned int count)
return 0;
 
in_use = rxq->next_to_use - rxq->next_to_clean;
-   ena_assert_msg(((in_use + count) <= ring_size), "bad ring state");
+   ena_assert_msg(((in_use + count) < ring_size), "bad ring state");
 
count = RTE_MIN(count,
(uint16_t)(ring_size - (next_to_use & ring_mask)));
@@ -1574,6 +1575,7 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct 
rte_mbuf **rx_pkts,
recv_idx++;
}
 
+   desc_in_use += 1;
/* Burst refill to save doorbells, memory barriers, const interval */
if (ring_size - desc_in_use > ENA_RING_DESCS_RATIO(ring_size))
ena_populate_rx_queue(rx_ring, ring_size - desc_in_use);
-- 
1.8.3.1



[dpdk-dev] [PATCH v2 3/4] net/ena: cleanup if refilling of rx descriptors fails

2017-04-10 Thread Marcin Wojtas
From: Michal Krawczyk 

If wrong number of descriptors for refilling was passed to the Rx
repopulate function, there was memory leak which caused memory pool to
run out of resources in longer go.

In case of fail when refilling Rx descriptors, all additional mbufs
have to be released.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index b4c713f..e6e889b 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1172,6 +1172,8 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, 
unsigned int count)
rc = ena_com_add_single_rx_desc(rxq->ena_com_io_sq,
&ebuf, next_to_use_masked);
if (unlikely(rc)) {
+   rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbuf),
+count - i);
RTE_LOG(WARNING, PMD, "failed adding rx desc\n");
break;
}
-- 
1.8.3.1



[dpdk-dev] [PATCH v2 4/4] net/ena: calculate partial checksum if DF bit is disabled

2017-04-10 Thread Marcin Wojtas
From: Michal Krawczyk 

When TSO is disabled we still have to calculate partial checksum if DF bit
if turned off. This is caused by firmware bug.

First of all, we must make sure that we are dealing with IPV4 packet.
If not, we will just skip further checking of this packet and move to
the next one.

If application will not set m2_len field, we assume we that it was Ethernet
frame because we have to look inside the packet to check for the DF flag.
To make it work properly, PMD is assuming that before sending
packet application called function rte_eth_tx_prepare().

Signed-off-by: Michal Krawczyk 
---
 drivers/net/ena/ena_ethdev.c | 36 +++-
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index e6e889b..3ba9901 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1599,14 +1599,33 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, 
struct rte_mbuf **rx_pkts,
uint64_t ol_flags;
uint16_t frag_field;
 
-   /* ENA needs partial checksum for TSO packets only, skip early */
-   if (!tx_ring->adapter->tso4_supported)
-   return nb_pkts;
-
for (i = 0; i != nb_pkts; i++) {
m = tx_pkts[i];
ol_flags = m->ol_flags;
 
+   if (!(ol_flags & PKT_TX_IPV4))
+   continue;
+
+   /* If there was not L2 header length specified, assume it is
+* length of the ethernet header.
+*/
+   if (unlikely(m->l2_len == 0))
+   m->l2_len = sizeof(struct ether_hdr);
+
+   ip_hdr = rte_pktmbuf_mtod_offset(m, struct ipv4_hdr *,
+m->l2_len);
+   frag_field = rte_be_to_cpu_16(ip_hdr->fragment_offset);
+
+   if ((frag_field & IPV4_HDR_DF_FLAG) != 0) {
+   m->packet_type |= RTE_PTYPE_L4_NONFRAG;
+
+   /* If IPv4 header has DF flag enabled and TSO support is
+* disabled, partial chcecksum should not be calculated.
+*/
+   if (!tx_ring->adapter->tso4_supported)
+   continue;
+   }
+
if ((ol_flags & ENA_TX_OFFLOAD_NOTSUP_MASK) != 0 ||
(ol_flags & PKT_TX_L4_MASK) ==
PKT_TX_SCTP_CKSUM) {
@@ -1622,15 +1641,6 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct 
rte_mbuf **rx_pkts,
}
 #endif
 
-   if (!(m->ol_flags & PKT_TX_IPV4))
-   continue;
-
-   ip_hdr = rte_pktmbuf_mtod_offset(m, struct ipv4_hdr *,
-m->l2_len);
-   frag_field = rte_be_to_cpu_16(ip_hdr->fragment_offset);
-   if (frag_field & IPV4_HDR_DF_FLAG)
-   continue;
-
/* In case we are supposed to TSO and have DF not set (DF=0)
 * hardware must be provided with partial checksum, otherwise
 * it will take care of necessary calculations.
-- 
1.8.3.1



[dpdk-dev] [PATCH] maintainers: update for ena PMD

2017-04-12 Thread Marcin Wojtas
Following changes of the ENA driver ownership in Amazon and Semihalf
(Jakub and Jan no longer work in the company), update driver's
maintainers list.

Special thanks to Jan Medala and Jakub Palider for their support and
development.

Signed-off-by: Marcin Wojtas 
---
 MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index cc3bf98..9334f4b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -280,9 +280,9 @@ M: John W. Linville 
 F: drivers/net/af_packet/
 
 Amazon ENA
-M: Jan Medala 
-M: Jakub Palider 
-M: Netanel Belgazal 
+M: Marcin Wojtas 
+M: Michal Krawczyk 
+M: Guy Tzalik 
 M: Evgeny Schemeilin 
 F: drivers/net/ena/
 F: doc/guides/nics/ena.rst
-- 
1.8.3.1



Re: [dpdk-dev] [PATCH 1/1] ena: fix SIGFPE with 0 rx queues

2018-06-21 Thread Marcin Wojtas
+ Ferruh and Michal

2018-06-20 18:32 GMT+02:00 Daria Kolistratova :
> When  he number of rx queues is 0
> (what can be when application does not receive)
> failed with SIGFPE.
> Fixed adding zero check before division.
>
> Signed-off-by: Daria Kolistratova 
> ---
>  drivers/net/ena/ena_ethdev.c | 6 +-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
> index 9ae73e331..76c483921 100644
> --- a/drivers/net/ena/ena_ethdev.c
> +++ b/drivers/net/ena/ena_ethdev.c
> @@ -684,7 +684,11 @@ static int ena_rss_init_default(struct ena_adapter 
> *adapter)
> }
>
> for (i = 0; i < ENA_RX_RSS_TABLE_SIZE; i++) {
> -   val = i % nb_rx_queues;
> +   if (nb_rx_queues != 0)
> +   val = i % nb_rx_queues;
> +   else
> +   val = 0;
> +
> rc = ena_com_indirect_table_fill_entry(ena_dev, i,
>ENA_IO_RXQ_IDX(val));
> if (unlikely(rc && (rc != ENA_COM_UNSUPPORTED))) {
> --
> 2.14.4
>


Re: [dpdk-dev] [PATCH v2 10/12] net/mvpp2: align documentation with MUSDK 18.09

2018-09-24 Thread Marcin Wojtas
Hi Ferruh,

pon., 24 wrz 2018 o 13:38 Ferruh Yigit  napisał(a):
>
> On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
> > 19/09/2018 19:15, Ferruh Yigit:
> >> On 9/4/2018 2:49 PM, Tomasz Duszynski wrote:
> >>> From: Natalie Samsonov 
> >>> --- a/doc/guides/nics/mvpp2.rst
> >>> +++ b/doc/guides/nics/mvpp2.rst
> >>> - git clone 
> >>> https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b 
> >>> linux-4.4.52-armada-17.10
> >>> + git clone 
> >>> https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b 
> >>> linux-4.4.120-armada-18.09
> >>
> >> There is a strict dependency to MUSDK 18.09, dpdk18.11 won't compile with 
> >> older
> >> versions. It is hard to trace this dependency, what do you think having a 
> >> matrix
> >> in DPDK documentation showing which DPDK version supports which MUSDK?
> >
> > It does not compile even with MUSDK 18.09.
> >
> > With MUSDK 18.09, the error is:
> >   drivers/crypto/mvsam/rte_mrvl_pmd.c:867:26: error: 'SAM_HW_RING_NUM' 
> > undeclared
>
> I confirm same error. I wasn't building with crypto PMD enabled so not caught 
> it.
>
> >
> > The explanation is in MUSDK:
> > commit 9bf8b3ca4ddfa00619c0023dfb08ae1601054fce
> > Author: Dmitri Epshtein 
> > Date:   Mon Nov 20 10:38:31 2017 +0200
> >
> > sam: remove SAM_HW_RING_NUM from APIs
> >
> > Use function:
> > u32 sam_get_num_cios(u32 inst);
> >
> > As a consequence, next-net cannot be pulled!
>
> Got it, should I drop the patchset from tree?

We're checking the error and will provide fix asap. Please let know if
this should be another version of the entire patchset or fix on top.
Sorry for the problems.

Best regards,
Marcin


Re: [dpdk-dev] [PATCH v2 10/12] net/mvpp2: align documentation with MUSDK 18.09

2018-09-24 Thread Marcin Wojtas
pon., 24 wrz 2018 o 14:44 Thomas Monjalon  napisał(a):
>
> 24/09/2018 13:36, Ferruh Yigit:
> > On 9/23/2018 11:40 PM, Thomas Monjalon wrote:
> > > As a consequence, next-net cannot be pulled!
> >
> > Got it, should I drop the patchset from tree?
>
> Yes I think it's better to re-consider this patchset later.
>
>

Ok, complete, new version of it will be re-sent to the lists.

Best regards,
Marcin


Re: [dpdk-dev] [PATCH v2 0/4] add net mrvl pmd driver

2017-09-28 Thread Marcin Wojtas
Hi Amit,

2017-09-28 13:40 GMT+02:00 Amit Tomer :
>
> >> This patch series introduces the net driver for Marvell Armada 7k/8k
> >> SoCs along with documentation.
>
> Wondering, if it could be tested on Marvell Armada 3700 based
> ESPRESSObin board ?
>

Different SoC. This one is intended to work with Armada 8040 MacchiatoBin board.

Best regards,
Marcin


Re: [dpdk-dev] [PATCH v4 15/16] maintainers: add maintainers for the mrvl net pmd

2017-10-09 Thread Marcin Wojtas
2017-10-09 21:02 GMT+02:00 Ferruh Yigit :
> On 10/9/2017 4:00 PM, Tomasz Duszynski wrote:
>> Signed-off-by: Jacek Siuda 
>> Signed-off-by: Tomasz Duszynski 
>
> Congratulations!,
>
> this is the 3. patch in patchwork:
> http://dpdk.org/dev/patchwork/patch/3/

There's no other option now, but to merge the jubilee patchset ;)

Best regards,
Marcin

>
> 2 was here:
> http://dpdk.org/ml/archives/dev/2017-January/056354.html
>
> 10K patches in less than 10 months (close to 9 months), this is lots of
> patches :)


Re: [dpdk-dev] [PATCH] net/ena/base: fix doorbell evaluation for the LLQ case

2020-08-13 Thread Marcin Wojtas
Hi,

śr., 12 sie 2020 o 18:37 Artur Rojek  napisał(a):
>
> From: Michal Krawczyk 
>
> This patch adds a missing LLQ-related check in the
> ena_com_is_doorbell_needed() routine, which is relevant for the feature
> supported by the next generation HW of the ENA.
>
> Fixes: b2b02edeb0d6 ("net/ena/base: upgrade HAL for new HW features")
> CC: sta...@dpdk.org
>
> Signed-off-by: Michal Krawczyk 
> [Extracted from a bigger patch]
> Signed-off-by: Artur Rojek 

Reviewed-by: Marcin Wojtas 

> ---
>  drivers/net/ena/base/ena_eth_com.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ena/base/ena_eth_com.h 
> b/drivers/net/ena/base/ena_eth_com.h
> index e37b642d4..3d66237b8 100644
> --- a/drivers/net/ena/base/ena_eth_com.h
> +++ b/drivers/net/ena/base/ena_eth_com.h
> @@ -133,7 +133,8 @@ static inline bool ena_com_is_doorbell_needed(struct 
> ena_com_io_sq *io_sq,
> llq_info = &io_sq->llq_info;
> num_descs = ena_tx_ctx->num_bufs;
>
> -   if (unlikely(ena_com_meta_desc_changed(io_sq, ena_tx_ctx)))
> +   if (llq_info->disable_meta_caching ||
> +   unlikely(ena_com_meta_desc_changed(io_sq, ena_tx_ctx)))
> ++num_descs;
>
> if (num_descs > llq_info->descs_num_before_header) {
> --
> 2.28.0
>