Hi slava,

Is this fixed in main branch now?
If yes could you please point me out the proper commit?

Thanks
Didier

On 3/17/20 10:25 AM, Slava Ovsiienko wrote:

*From:* Didier Pallard <didier.pall...@6wind.com>
*Sent:* Tuesday, March 17, 2020 11:19
*To:* Slava Ovsiienko <viachesl...@mellanox.com>
*Cc:* dev@dpdk.org; sta...@dpdk.org; Matan Azrad <ma...@mellanox.com>
*Subject:* Re: [dpdk-dev] [PATCH] net/mlx5: fix Rx descriptor status returned value

>>>well, please do if you don't mind,

OK, I will.

>>>You will validate it quicker, and I'm currently working on a different topic.

>>>Btw, do you think it's possible to have an implementation of [r,t]x_status_descriptor functions for vectorized implementation?

>>>thanks

Yes, we are planning this update.

With best regards, Slava

didier

On Tue, Mar 17, 2020 at 9:33 AM Slava Ovsiienko <viachesl...@mellanox.com <mailto:viachesl...@mellanox.com>> wrote:

    >> From: Didier Pallard <didier.pall...@6wind.com
    <mailto:didier.pall...@6wind.com>>
    >> Sent: Monday, March 16, 2020 19:24
    >> To: Slava Ovsiienko <viachesl...@mellanox.com
    <mailto:viachesl...@mellanox.com>>
    >> Cc: dev@dpdk.org <mailto:dev@dpdk.org>; sta...@dpdk.org
    <mailto:sta...@dpdk.org>; Matan Azrad <ma...@mellanox.com
    <mailto:ma...@mellanox.com>>
    >> Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix Rx descriptor
    status returned value
    >> Well, you're right, another way to fix the problem could be to
    set up the queue size assuming the provided number
    >> is a number of packets in queue rather than a number of mbufs
    in queue.

    Yes, it is intended in queue setup routine. But, for mlx5 we have
    a bug for regular mlx5_rx_burst if scattering is enabled,
    the Rx queue is created with size wqe_n elements, should be wqe_n
    << sges_n instead, to be able to receive the requested
    number of packets (wqe_n). I think we must fix. Would you like to
    update your patch, or should I provide mine?

    >> But not sure it's better, it's also important for the
    application/user to know the number of mbufs that could fit in a
    rx/tx queue,
    >> whatever the number of packets that it covers, since it is very
    important to size the memory pools correctly to avoid any
    >> mbuf shortage during system life.
    >> Thanks
    >> Didier
    To estimate - the number of "DPDK descriptors" should be
    multiplied by the maximal length of scattered packet chain.

    With best regards, Slava

    > -----Original Message-----
    > From: dev <mailto:dev-boun...@dpdk.org
    <mailto:dev-boun...@dpdk.org>> On Behalf Of Didier Pallard
    > Sent: Friday, March 13, 2020 11:57
    > To: mailto:dev@dpdk.org <mailto:dev@dpdk.org>
    > Cc: mailto:sta...@dpdk.org <mailto:sta...@dpdk.org>
    > Subject: [dpdk-dev] [PATCH] net/mlx5: fix Rx descriptor status
    returned value
    >
    > Two bugs in rx_queue_count function:
    > - One entry may contain several segments, so 'used' must be
    multiplied
    >   by number of segments per entry to properly reflect the queue
    usage.
    > - rx_queue_count returns the number of entries used in queue, so
    it ranges
    >   from 0 to max number of entries in queue, not this number minus
    >   one.
    >
    > Fixes: 8788fec1f269 ("net/mlx5: implement descriptor status API")
    > Cc: mailto:sta...@dpdk.org <mailto:sta...@dpdk.org>
    > Signed-off-by: Didier Pallard <mailto:didier.pall...@6wind.com
    <mailto:didier.pall...@6wind.com>>
    > ---
    >  drivers/net/mlx5/mlx5_rxtx.c | 2 +-
    >  1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > diff --git a/drivers/net/mlx5/mlx5_rxtx.c
    b/drivers/net/mlx5/mlx5_rxtx.c index
    > 5ac63da8039d..17f80c25443e 100644
    > --- a/drivers/net/mlx5/mlx5_rxtx.c
    > +++ b/drivers/net/mlx5/mlx5_rxtx.c
    > @@ -500,7 +500,7 @@ rx_queue_count(struct mlx5_rxq_data *rxq)
    >               used += n;
    >               cqe = &(*rxq->cqes)[cq_ci & cqe_cnt];
    >       }
    > -     used = RTE_MIN(used, (1U << rxq->elts_n) - 1);
    > +     used = RTE_MIN(used * (1 << rxq->sges_n), 1U << rxq->elts_n);
    >       return used;
    >  }
    >
    > --
    > 2.24.1

Reply via email to