Hi Gyanesh,

It seems you are using 1G huge pages. Have you tried using 2M pages (1024 x 2M 
pages should be enough)? As Bill noted, this seems like a memory related issue.

-Matias


> On 28 Mar 2018, at 18:15, gyanesh patra <pgyanesh.pa...@gmail.com> wrote:
> 
> Yes, it is.
> The error is the same. I did replied that the only difference I see is with 
> Ubuntu version and different minor version of mellanox driver. 
> 
> On Wed, Mar 28, 2018, 07:29 Bill Fischofer <bill.fischo...@linaro.org> wrote:
> Thanks for the update. Sounds like you're already using DPDK 17.11?
> What about Mellanox driver level? Is the failure the same as you
> originally reported?
> 
> From the reported error:
> 
> pktio/dpdk.c:1538:dpdk_start():Queue setup failed: err=-12, port=0
> odp_l2fwd.c:1671:main():Error: unable to start 0
> 
> This is a DPDK PMD driver error reported by rte_eth_rx_queue_setup().
> In the Mellanox PMD (drivers/net/mlx5/mlx5_rxq.c) this is the
> mlx5_rx_queue_setup() routine. The relevant code seems to be this:
> 
> if (rxq != NULL) {
>         DEBUG("%p: reusing already allocated queue index %u (%p)",
>                       (void *)dev, idx, (void *)rxq);
>         if (priv->started) {
>                 priv_unlock(priv);
>                 return -EEXIST;
>         }
>         (*priv->rxqs)[idx] = NULL;
>         rxq_cleanup(rxq_ctrl);
>         /* Resize if rxq size is changed. */
>         if (rxq_ctrl->rxq.elts_n != log2above(desc)) {
>                 rxq_ctrl = rte_realloc(rxq_ctrl,
>                                                   sizeof(*rxq_ctrl) +
>                                                   (desc + desc_pad) *
>                                                   sizeof(struct rte_mbuf *),
>                                                   RTE_CACHE_LINE_SIZE);
>                 if (!rxq_ctrl) {
>                         ERROR("%p: unable to reallocate queue index %u",
>                                       (void *)dev, idx);
>                                       priv_unlock(priv);
>                                       return -ENOMEM;
>                }
>         }
> } else {
>         rxq_ctrl = rte_calloc_socket("RXQ", 1, sizeof(*rxq_ctrl) +
>                                                     (desc + desc_pad) *
>                                                      sizeof(struct rte_mbuf 
> *),
>                                                      0, socket);
>         if (rxq_ctrl == NULL) {
>                  ERROR("%p: unable to allocate queue index %u",
>                                (void *)dev, idx);
>                                priv_unlock(priv);
>                 return -ENOMEM;
>         }
> }
> 
> The reported -12 error code is -ENOMEM so I'd say the issue is some
> sort of memory allocation failure.
> 
> 
> On Wed, Mar 28, 2018 at 8:43 AM, gyanesh patra <pgyanesh.pa...@gmail.com> 
> wrote:
> > Hi Bill,
> > I tried with Matias' suggestions but without success.
> >
> > P Gyanesh Kumar Patra
> >
> > On Mon, Mar 26, 2018 at 4:16 PM, Bill Fischofer <bill.fischo...@linaro.org>
> > wrote:
> >>
> >> Hi Gyanesh,
> >>
> >> Have you had a chance to look at
> >> https://bugs.linaro.org/show_bug.cgi?id=3657 and see if Matias' suggestions
> >> are helpful to you?
> >>
> >> Thanks,
> >>
> >> Regards,
> >> Bill
> >
> >

Reply via email to