From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B3D6AA0559; Tue, 17 Mar 2020 10:19:41 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D35171BF30; Tue, 17 Mar 2020 10:19:40 +0100 (CET) Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by dpdk.org (Postfix) with ESMTP id 5AB261BF30 for ; Tue, 17 Mar 2020 10:19:39 +0100 (CET) Received: by mail-lj1-f196.google.com with SMTP id w4so7203734lji.11 for ; Tue, 17 Mar 2020 02:19:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CRFd+1KiFn0fQ2fr5GcIxKyidv1Y32gLu5PksMTFoKA=; b=CwLjwtWVVLR/AkYq6i17LD8XUPAp4VF90JL/LV2T1abfURm4FnhloWefaFDf48CKUK xSxXVlGqIzM+ehHP0OBnC6Dl4qVKXEuSx7njvZ9Erqf2uFbXb0NpnYjmehX7kC+l0f87 yxIUwkMcoypghwo3t2u6D8wwye6JgYiQJQ8bQLmu4vgSOT/7NqaN2Rj/ugngOogges64 PjN5IO0y4EkRITRSTC8d3i4wA6DD8s1fGkXQkIgbi4nSHh6py09mwicfsAW/oDQN6GKj 2JFGztDPn7GjojSEA5Au80RiNX6waqFhVZkOr84VUCl9R+kMLl1nNWiEjl33i+Y9iD8W yhdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=CRFd+1KiFn0fQ2fr5GcIxKyidv1Y32gLu5PksMTFoKA=; b=oT8zAB19r27Ys1ITdbjLVDaQfXgHA5Vh51SggsfYWKtu8mwYD9h+bgUmxn0qp/YadE 16yWu2VNiZvdS/WnjjAagNtSxdPWU8NAg0UzEroetCrpoPNMBqKuD13m7LRTGgpcb+Qr VzYs+87NTazOeCmiC/iUhdSYlNllIntSooCaaVbg0sd3SHe9IjhoSUKD1hZCah/730Nj OEYqVbMjkLu5ZOPlKKa1co3y0aHcm2tgNgVXXNvZRa/rjWtvAhoAnwcdL6BEIGYIuTX6 I5q81miGpcshTRQy/dFV2vPua8CLvUrlMo3BbNJhaK9U20XCW/VTgCaxOhgQCwOblAER iDSw== X-Gm-Message-State: ANhLgQ2LZhwRC0MUSK1WXmrmbu/+bFKdWd/PBrzrfOpKjsFeJZk2Vyk/ c5HFfbI3C27b2+mkTqzJsl7598UMFmJRZpc5TF9d9A== X-Google-Smtp-Source: ADFU+vtlaStIwhgNbBP6Jw5HEYf0TFW9psJMOTaqBzMmr2f5UWi/NaMmxZ3476MY/xBGtOIlIzJyPYIFxxi5FtGPrIY= X-Received: by 2002:a2e:9ccb:: with SMTP id g11mr2046088ljj.271.1584436778775; Tue, 17 Mar 2020 02:19:38 -0700 (PDT) MIME-Version: 1.0 References: <20200313095659.19000-1-didier.pallard@6wind.com> In-Reply-To: From: Didier Pallard Date: Tue, 17 Mar 2020 10:19:26 +0100 Message-ID: To: Slava Ovsiienko Cc: "dev@dpdk.org" , "stable@dpdk.org" , Matan Azrad Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix Rx descriptor status returned value X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" well, please do if you don't mind, 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 didier On Tue, Mar 17, 2020 at 9:33 AM Slava Ovsiienko wrote: > >> From: Didier Pallard > >> Sent: Monday, March 16, 2020 19:24 > >> To: Slava Ovsiienko > >> Cc: dev@dpdk.org; stable@dpdk.org; Matan Azrad > >> 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 On Behalf Of Didier Pallard > > Sent: Friday, March 13, 2020 11:57 > > To: mailto:dev@dpdk.org > > Cc: mailto:stable@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:stable@dpdk.org > > Signed-off-by: Didier Pallard > > --- > > 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 >