From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2F511429F7 for ; Fri, 28 Apr 2023 05:50:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 080C0406B5; Fri, 28 Apr 2023 05:50:37 +0200 (CEST) Received: from mail-oi1-f225.google.com (mail-oi1-f225.google.com [209.85.167.225]) by mails.dpdk.org (Postfix) with ESMTP id 2A264406B5 for ; Fri, 28 Apr 2023 05:50:36 +0200 (CEST) Received: by mail-oi1-f225.google.com with SMTP id 5614622812f47-38bef71c258so6422840b6e.2 for ; Thu, 27 Apr 2023 20:50:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1682653835; x=1685245835; h=cc:to:from:subject:message-id:date:from:to:cc:subject:date :message-id:reply-to; bh=HFO/+Wbr047NMGQ4vq98Ug4vygo6EYcqnVP7vfd54hQ=; b=ahLk8V6V3mUagOJUSFAnd7eef18LFNRXuLazy+lhwTJOFJ0XKZT8unB05uPWjPA+OP rpTBve1QMSniDx1/ydTV0BGOLG62X0ZVaAiBwaPAdwAzc7RZ1L1G7T1X8NFkvDdzv0/X bOUA+OpYRtohnZnR5sQsF9Hgww2ZIGwjExutY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682653835; x=1685245835; h=cc:to:from:subject:message-id:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HFO/+Wbr047NMGQ4vq98Ug4vygo6EYcqnVP7vfd54hQ=; b=GztSYt1iqAGJNJw/NLcjUJ6xsaR+ZjXFXhmbC0Nu5OLsMh2KzESSlRpOw91YQ/Yuo8 hNFNSmajK343qQz4tJr6lh2vF4y7++Bcn1/jo0jJd74dfThiKzevfJVrq3dGqHjiC+dm WpBWWiBcoCcdcGcfJ0TNdY9HgHmI4cGJsDCLGuFBVovF7BihQuZ5kwWnI0y0+EaMO+ki +8CVfECWUoRqGARPTwHBYx3bYWAdTqIMynpNZReVAdZl7AB2bf1kTb7zDAUdhnzof+bY GkCEM/0CEoAof2sJhiiDsmH2CczeQ8xWB15PhnHUYXmmYD51uXVcTKV6cq0WQBRGCM1M XVJQ== X-Gm-Message-State: AC+VfDwPi4w1f3STaY5ba9QFFew+y3zGq6v92LuPrLEIQRUM/WbouRJD Zcl+c+tBqcyHWyfGgGpRHA6lmDo84o4WopijiwKGHYqOMk28o1FYxcUybw== X-Google-Smtp-Source: ACHHUZ5wVqD9BTv77B7Ih2DEyZY6rw2UbnxxgHcotHJ7Jr8vl+SPuQ4qWdbuRsdNaOMsnQjHtvp3dLVBUg5r X-Received: by 2002:a05:6808:628f:b0:38e:987c:6af7 with SMTP id du15-20020a056808628f00b0038e987c6af7mr1700596oib.53.1682653835327; Thu, 27 Apr 2023 20:50:35 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id v36-20020a4a8c67000000b0051745d173b2sm1900027ooj.26.2023.04.27.20.50.35 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Apr 2023 20:50:35 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Date: Thu, 27 Apr 2023 20:50:35 -0700 (PDT) Message-ID: <644b428b.4a0a0220.3a5d4.bf7eSMTPIN_ADDED_MISSING@mx.google.com> Received: from [172.17.0.3] (unknown [172.18.0.34]) by postal.iol.unh.edu (Postfix) with ESMTP id C2598605246B; Thu, 27 Apr 2023 23:50:34 -0400 (EDT) Subject: |WARNING| pw126606 [PATCH] net/mana: suppress TX CQE generation whenever possible From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Content-Type: text/plain X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/126606 _apply patch failure_ Submitter: Long Li Date: Friday, April 28 2023 03:36:49 Applied on: CommitID:d03446724972d2a1bb645ce7f3e64f5ef0203d61 Apply patch set 126606 failed: Checking patch drivers/net/mana/mana.h... Hunk #1 succeeded at 366 (offset 13 lines). Hunk #2 succeeded at 409 (offset 7 lines). Checking patch drivers/net/mana/tx.c... error: while searching for: int ret; void *db_page; uint16_t pkt_sent = 0; uint32_t num_comp; /* Process send completions from GDMA */ num_comp = gdma_poll_completion_queue(&txq->gdma_cq, txq->gdma_comp_buf, txq->num_desc); for (uint32_t i = 0; i < num_comp; i++) { struct mana_txq_desc *desc = &txq->desc_ring[txq->desc_ring_tail]; struct mana_tx_comp_oob *oob = (struct mana_tx_comp_oob *) error: patch failed: drivers/net/mana/tx.c:173 Hunk #3 succeeded at 203 (offset -4 lines). error: while searching for: struct one_sgl sgl; uint16_t seg_idx; /* Drop the packet if it exceeds max segments */ if (m_pkt->nb_segs > priv->max_send_sge) { DRV_LOG(ERR, "send packet segments %d exceeding max", error: patch failed: drivers/net/mana/tx.c:215 error: while searching for: tx_oob.short_oob.tx_compute_UDP_checksum = 0; } tx_oob.short_oob.suppress_tx_CQE_generation = 0; tx_oob.short_oob.VCQ_number = txq->gdma_cq.id; tx_oob.short_oob.VSQ_frame_num = error: patch failed: drivers/net/mana/tx.c:310 error: while searching for: if (seg_idx != m_pkt->nb_segs) continue; struct gdma_work_request work_req; uint32_t wqe_size_in_bu; error: patch failed: drivers/net/mana/tx.c:362 error: while searching for: /* Update queue for tracking pending requests */ desc->pkt = m_pkt; desc->wqe_size_in_bu = wqe_size_in_bu; txq->desc_ring_head = (txq->desc_ring_head + 1) % txq->num_desc; pkt_sent++; error: patch failed: drivers/net/mana/tx.c:384 Applied patch drivers/net/mana/mana.h cleanly. Applying patch drivers/net/mana/tx.c with 5 rejects... Hunk #1 applied cleanly. Rejected hunk #2. Hunk #3 applied cleanly. Rejected hunk #4. Rejected hunk #5. Rejected hunk #6. Rejected hunk #7. hint: Use 'git am --show-current-patch' to see the failed patch diff a/drivers/net/mana/tx.c b/drivers/net/mana/tx.c (rejected hunks) @@ -173,13 +175,14 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) int ret; void *db_page; uint16_t pkt_sent = 0; - uint32_t num_comp; + uint32_t num_comp, i; /* Process send completions from GDMA */ num_comp = gdma_poll_completion_queue(&txq->gdma_cq, txq->gdma_comp_buf, txq->num_desc); - for (uint32_t i = 0; i < num_comp; i++) { + i = 0; + while (i < num_comp) { struct mana_txq_desc *desc = &txq->desc_ring[txq->desc_ring_tail]; struct mana_tx_comp_oob *oob = (struct mana_tx_comp_oob *) @@ -215,6 +227,9 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) struct one_sgl sgl; uint16_t seg_idx; + if (txq->desc_ring_len >= txq->num_desc) + break; + /* Drop the packet if it exceeds max segments */ if (m_pkt->nb_segs > priv->max_send_sge) { DRV_LOG(ERR, "send packet segments %d exceeding max", @@ -310,7 +325,6 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) tx_oob.short_oob.tx_compute_UDP_checksum = 0; } - tx_oob.short_oob.suppress_tx_CQE_generation = 0; tx_oob.short_oob.VCQ_number = txq->gdma_cq.id; tx_oob.short_oob.VSQ_frame_num = @@ -362,6 +376,16 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) if (seg_idx != m_pkt->nb_segs) continue; + /* If we can at least queue post two WQEs and there are at + * least two packets to send, use TX CQE suppression for the + * current WQE + */ + if (txq->desc_ring_len + 1 < txq->num_desc && + pkt_idx + 1 < nb_pkts) + tx_oob.short_oob.suppress_tx_CQE_generation = 1; + else + tx_oob.short_oob.suppress_tx_CQE_generation = 0; + struct gdma_work_request work_req; uint32_t wqe_size_in_bu; @@ -384,8 +408,11 @@ mana_tx_burst(void *dpdk_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) /* Update queue for tracking pending requests */ desc->pkt = m_pkt; desc->wqe_size_in_bu = wqe_size_in_bu; + desc->suppress_tx_cqe = + tx_oob.short_oob.suppress_tx_CQE_generation; txq->desc_ring_head = (txq->desc_ring_head + 1) % txq->num_desc; + txq->desc_ring_len++; pkt_sent++; https://lab.dpdk.org/results/dashboard/patchsets/26135/ UNH-IOL DPDK Community Lab