From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f195.google.com (mail-io0-f195.google.com [209.85.223.195]) by dpdk.org (Postfix) with ESMTP id BC9BC2BB0 for ; Mon, 10 Apr 2017 12:11:08 +0200 (CEST) Received: by mail-io0-f195.google.com with SMTP id x86so1184445ioe.3 for ; Mon, 10 Apr 2017 03:11:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=D2qr/HlDhL3gOdaBjDwYveqDsMAaeXGr2qnXRp51+QM=; b=rW3qGyW9LEkPYSrAR7/3feZE7y/56S2jKHwc+uhYLzzKGGFDlUKbJTonWqFp+SsX4h KA68udw2GdDKEFn4ModMJsZDEWAUbKWz5VB9ncZmcXmeO6T78X8y6nmnqBlLkj99f8e6 LzC9thUPg5W1FGAs0vgZfDB/eJ6llhofqYhuwRz1ciFzBITcJPNUETxezI/0pOOUeUye ADqnPeWOoBCdQBEXbfr9rCHTG5uB4qYFAWVvEAhjvvLm7J0nZkz8jZnjSC1llvJAZN/X xtl11uPuvoUGbWoxzCxS55hsIqmWMrAUnuCJUPHfMozXnRFcx2V0qoYiDktXqdWEmWXj lIIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=D2qr/HlDhL3gOdaBjDwYveqDsMAaeXGr2qnXRp51+QM=; b=tnOozsJlyB39EZLIh3cr7Z1zAK6Km9hUrS+1eOROFn+3zXXFpCX0/sQQg1bdbhF0YP sxvl1oiKec+Xzp3F792xhUkcrabHoSjFatxNpiJiYfDIhV3P9yG7Zfwrp2PYckvuolhe eLo97LdeUa3lBj93ftR8nM3veJJ3LlDcqYbPKVM40S9WmVS/NE8HGPcB7IJIBIWJKZF/ tEf5IJo69FdRdxKRQVJkdNqFsNSUO8lOegHp3g6+OUKSoodyNQGl7InbDbIulPovEl3S eAwwbzBYgrPhYzeaS07Izd6dIU77gpFr6u1sMaP41O3jqfVdNeKDmcrEOeBwvIuECk7I yzag== X-Gm-Message-State: AN3rC/7iE/g5w08tBvPPK2ol9B5hsJtSdpqU45IFbURfmg7qv7XXcslZWwG/gqgdD46axhGdwWc9z0Gj82qe8g== X-Received: by 10.36.124.139 with SMTP id a133mr11102997itd.84.1491819068164; Mon, 10 Apr 2017 03:11:08 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.30.67 with HTTP; Mon, 10 Apr 2017 03:10:47 -0700 (PDT) In-Reply-To: <1491562138-2178-2-git-send-email-mw@semihalf.com> References: <1491562138-2178-1-git-send-email-mw@semihalf.com> <1491562138-2178-2-git-send-email-mw@semihalf.com> From: Jakub Palider Date: Mon, 10 Apr 2017 12:10:47 +0200 Message-ID: To: Marcin Wojtas Cc: dev@dpdk.org, =?UTF-8?Q?Jan_M=C4=99dala?= , netanel@amazon.com, evgenys@amazon.com, matua@amazon.com, gtzalik@amazon.com, mk@semihalf.com X-Mailman-Approved-At: Wed, 12 Apr 2017 09:13:05 +0200 Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH 1/4] net/ena: fix incorrect Rx descriptors allocation 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: , X-List-Received-Date: Mon, 10 Apr 2017 10:11:09 -0000 Looks good to me but please, check commnt on patch 2/4. Moving the "-1" indexing fix from patch 2/4 into 1/4 will reflect all related changes in one place. But this is not a functional change, so may go in current shape as well. Jakub On Fri, Apr 7, 2017 at 12:48 PM, Marcin Wojtas wrote: > 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 > >