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 EACC942A76 for ; Sat, 6 May 2023 04:00:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E7649410ED; Sat, 6 May 2023 04:00:31 +0200 (CEST) Received: from mail-io1-f98.google.com (mail-io1-f98.google.com [209.85.166.98]) by mails.dpdk.org (Postfix) with ESMTP id 4D9B3410ED for ; Sat, 6 May 2023 04:00:30 +0200 (CEST) Received: by mail-io1-f98.google.com with SMTP id ca18e2360f4ac-763c3429aa6so189911039f.2 for ; Fri, 05 May 2023 19:00:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1683338429; x=1685930429; h=cc:to:from:subject:message-id:date:from:to:cc:subject:date :message-id:reply-to; bh=fiV+rksThoHsXbdm+E8zTr1sWW/tC0sFrTvzYliFhjA=; b=LTPjdt4eoPPi49z0NS2eggfUGSKtFuVRirbi8dZF1S2s/6yIaOic0Pn1CE7rTXyiLO 9gwIvGXyGSr4sk2zUK1T3AW8fMEjHEX2lwGM9VnWkyf+LkkTCEmue/F35LQivxXfVKNM hLKwJwKMJhIySznoMHHcJ8RhnojuiSO6fbmXY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683338429; x=1685930429; h=cc:to:from:subject:message-id:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fiV+rksThoHsXbdm+E8zTr1sWW/tC0sFrTvzYliFhjA=; b=V4J7Wxj/UwtXWfekYUqdX7V+pE/0ls4jP6CXW3P1a/oilblmwkA4n9A27GYMVjGhoa ucWgBZn6XrGiUwf0BvIGKHDQ37DaxbpTjo2KuYJtpl6xGTOzH3bPIJjukS3Ay9LBqVd8 UOrKBXRMXMw1baORV/bqgzsXPr8S5dGaiiLaF/FJfCHgfAuH56rX/TlARGJnsOeiL5A3 UEfgusY8zeXWOGN99IIMlG4mi4eDTl6MaVTMN1pyJp3n5Fw+mtMaO+2aGglDVegYndmo ACXJSL16UcF0gFKTK5AAT+RzORnhAYRzzmctrK7tr7/d58bzBQ5sZsFV0COsa9B5WXeT 2RuQ== X-Gm-Message-State: AC+VfDw/NpaM9gbzQ2bt5KGGHJYB6+H8Uz+8jstbqKtQmpHRU6N8b0lW 8SyrPWbBi5u8peWpYmrqkKn94AYruphcgykKMvzZmEqshWdEUpGywKGVgw== X-Google-Smtp-Source: ACHHUZ4S61nFW4YHWIyOcwrBCmmzc0k6yIi5aDU5cAJyRqPhfuVmaMaPb53mGBxc+/Ajx8fsTJABB7HOqoUv X-Received: by 2002:a6b:e801:0:b0:760:ec3c:33ed with SMTP id f1-20020a6be801000000b00760ec3c33edmr2395047ioh.5.1683338429709; Fri, 05 May 2023 19:00:29 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id k84-20020a6bba57000000b00760eab38e70sm53544iof.7.2023.05.05.19.00.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 May 2023 19:00:29 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Date: Fri, 05 May 2023 19:00:29 -0700 (PDT) Message-ID: <6455b4bd.6b0a0220.6f334.392fSMTPIN_ADDED_MISSING@mx.google.com> Received: from [172.17.0.2] (unknown [172.18.0.34]) by postal.iol.unh.edu (Postfix) with ESMTP id 41F49605246B; Fri, 5 May 2023 22:00:29 -0400 (EDT) Subject: |WARNING| pw126719 [PATCH] [v2] 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/126719 _apply patch failure_ Submitter: Long Li Date: Saturday, May 06 2023 01:32:47 Applied on: CommitID:d03446724972d2a1bb645ce7f3e64f5ef0203d61 Apply patch set 126719 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) { DP_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) { DP_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/26173/ UNH-IOL DPDK Community Lab