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 <[email protected]>
*Sent:* Tuesday, March 17, 2020 11:19
*To:* Slava Ovsiienko <[email protected]>
*Cc:* [email protected]; [email protected]; Matan Azrad <[email protected]>
*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 <[email protected] <mailto:[email protected]>> wrote:

    >> From: Didier Pallard <[email protected]
    <mailto:[email protected]>>
    >> Sent: Monday, March 16, 2020 19:24
    >> To: Slava Ovsiienko <[email protected]
    <mailto:[email protected]>>
    >> Cc: [email protected] <mailto:[email protected]>; [email protected]
    <mailto:[email protected]>; Matan Azrad <[email protected]
    <mailto:[email protected]>>
    >> 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:[email protected]
    <mailto:[email protected]>> On Behalf Of Didier Pallard
    > Sent: Friday, March 13, 2020 11:57
    > To: mailto:[email protected] <mailto:[email protected]>
    > Cc: mailto:[email protected] <mailto:[email protected]>
    > 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:[email protected] <mailto:[email protected]>
    > Signed-off-by: Didier Pallard <mailto:[email protected]
    <mailto:[email protected]>>
    > ---
    >  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