From patchwork Fri Dec 14 13:18:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 48866 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 00E571BBD4; Fri, 14 Dec 2018 14:19:16 +0100 (CET) Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by dpdk.org (Postfix) with ESMTP id C6AC01BB76 for ; Fri, 14 Dec 2018 14:19:07 +0100 (CET) Received: by mail-lf1-f66.google.com with SMTP id e26so4240751lfc.2 for ; Fri, 14 Dec 2018 05:19:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=py47PY4bUtyRmvnQIB4Zl7xUgCU41vwWA7oOHJsWKA0=; b=0kso+1e0cvubi0LSlBeuhjcxYSj7YF0/JA/UJ3eVHZF10DJV3uDlJl5WC3MwOmVnlg hKPBs9JIZLbthLoTZRWPy4kWklfJntw+3+RsQow19pGvSYSonZHjx0BT0GX6wkTC/eIc bMxa0Z9cQZL9DZQq82JZEQ+JGNLVVAGJJ3DqqZTZFxwjPBdTLKQWeJizKkR9wHkpOoM6 FJdHh9jQhVE3Q3LzwNQmcVMGtdvD4UY/HOIJqEdoL4KyQwdcyXsPNmedP25CkgT73DR3 V8VUzP7rGCTU2Nzumxoociv+kE6MGHUs2cIRYIqMG2PhhMoJe8DQ59obLyUBRgWmGi36 JmZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=py47PY4bUtyRmvnQIB4Zl7xUgCU41vwWA7oOHJsWKA0=; b=YgzdlORn4WhbFemUAhGRA/DMT/LBrnRUQeSotJzGcUY3HwNAZKthk34RFUrwBN7cfp Y7sLVINDAbTnEaw6ZijPCfkFI9xZ8f38ib2hAicvaQkr1bYPQ67PMfQkZj9LKZ5RKg+m 2dHc555jZSMEHY5n3wuLgMYYGGAI/mQQok32xdYmfQR1SV/2vH8t+8rD3FGuANBQ9L12 zKKfopxdLtJsD046SmheEFlQhJi/ukX4m+J+3tNghj4RnBrm4VKEnkl+rJy7v5lt5s3Z Iv4fWXJ5aT8fJCT3DGkFWNNSgWYpayXy54fpw5hbC4D5Qvz03NHf5C3xK037+4fzp6CK 0YLA== X-Gm-Message-State: AA+aEWaxGhQpLPxIqbmcnDQ1nlZnppKugaQpAZJMIlGbLi2VsZqFMmon sBFuwRRcCgM32SXqSiDus3fywLsFX6s= X-Google-Smtp-Source: AFSGD/XBz6cf1o+QW3EuY96RHbnxjOQ9+Yj/qTXBSzFxeJEUButdQOQnLUE0n6k+a/MNFDh76+z3gg== X-Received: by 2002:a19:920a:: with SMTP id u10mr1760980lfd.122.1544793547037; Fri, 14 Dec 2018 05:19:07 -0800 (PST) Received: from mkPC.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id o25sm873884lfd.29.2018.12.14.05.19.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Dec 2018 05:19:06 -0800 (PST) From: Michal Krawczyk To: dev@dpdk.org Cc: gtzalik@dpdk.org, mw@dpdk.org, matua@amazon.com, rk@semihalf.com Date: Fri, 14 Dec 2018 14:18:34 +0100 Message-Id: <20181214131846.22439-9-mk@semihalf.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20181214131846.22439-1-mk@semihalf.com> References: <20181214131846.22439-1-mk@semihalf.com> Subject: [dpdk-dev] [PATCH 08/20] net/ena: call additional doorbells if needed 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" From: Rafal Kozik Before sending next packet, check if calling doorbell is needed. Signed-off-by: Rafal Kozik Acked-by: Michal Krawczyk --- drivers/net/ena/ena_ethdev.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index f83552377..5f7dec086 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -2363,7 +2363,16 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, ena_tx_ctx.num_bufs = tx_info->num_of_bufs; - /* Write data to device */ + if (ena_com_is_doorbell_needed(tx_ring->ena_com_io_sq, + &ena_tx_ctx)) { + RTE_LOG(DEBUG, PMD, "llq tx max burst size of queue %d" + " achieved, writing doorbell to send burst\n", + tx_ring->id); + rte_wmb(); + ena_com_write_sq_doorbell(tx_ring->ena_com_io_sq); + } + + /* prepare the packet's descriptors to dma engine */ rc = ena_com_prepare_tx(tx_ring->ena_com_io_sq, &ena_tx_ctx, &nb_hw_desc); if (unlikely(rc))