Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/77070/?format=api
http://patches.dpdk.org/api/patches/77070/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200909155302.28656-7-lance.richardson@broadcom.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20200909155302.28656-7-lance.richardson@broadcom.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200909155302.28656-7-lance.richardson@broadcom.com", "date": "2020-09-09T15:52:59", "name": "[06/12] net/bnxt: use smaller cq when agg ring not needed", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "f8a88ea5c62d79b888fe19791adfebc0236a7563", "submitter": { "id": 1323, "url": "http://patches.dpdk.org/api/people/1323/?format=api", "name": "Lance Richardson", "email": "lance.richardson@broadcom.com" }, "delegate": { "id": 1766, "url": "http://patches.dpdk.org/api/users/1766/?format=api", "username": "ajitkhaparde", "first_name": "Ajit", "last_name": "Khaparde", "email": "ajit.khaparde@broadcom.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200909155302.28656-7-lance.richardson@broadcom.com/mbox/", "series": [ { "id": 12060, "url": "http://patches.dpdk.org/api/series/12060/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12060", "date": "2020-09-09T15:52:53", "name": "net/bnxt: vector PMD improvements", "version": 1, "mbox": "http://patches.dpdk.org/series/12060/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/77070/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/77070/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 19018A04B5;\n\tWed, 9 Sep 2020 17:54:23 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 267DA1C12A;\n\tWed, 9 Sep 2020 17:53:29 +0200 (CEST)", "from mail-pf1-f196.google.com (mail-pf1-f196.google.com\n [209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 0BBC21C12A\n for <dev@dpdk.org>; Wed, 9 Sep 2020 17:53:27 +0200 (CEST)", "by mail-pf1-f196.google.com with SMTP id w7so2531543pfi.4\n for <dev@dpdk.org>; Wed, 09 Sep 2020 08:53:26 -0700 (PDT)", "from localhost.localdomain ([192.19.231.250])\n by smtp.gmail.com with ESMTPSA id h15sm3188427pfo.23.2020.09.09.08.53.25\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 09 Sep 2020 08:53:25 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com;\n s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=64geMs9OE3TrwH5ljq2ZtZjNYVoSmHSQ1C/JxK521fw=;\n b=H3WwGnnwUuBFs56EI8LyOE3/pDSceUXUhve2syTsFAXru3GIPs1qVQYt8xyxla0oHY\n uYP833lYXslo3D52pkfcerkAYtFG7WeLKN3K9RRDAXS8//sjBoe1KOUQZnmHXZfI55YE\n /AE/7WBm5OHHGYLcz9l6sZSaAIuhbkBqGLrIY=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=64geMs9OE3TrwH5ljq2ZtZjNYVoSmHSQ1C/JxK521fw=;\n b=fKbCf20fyfzrNi9Uaih8lbOWtLQlgpSDDLQgX/fz4IHUIFaDALs2DKC3/R7ujHPqGi\n HzN0DVu2vIpkqaD3ma1n5sPOW8zFJz+LesoIwYvgZsbbS5mDm1jSuBaF6eiN+Yui76P1\n U7QqldWeeN0hDf0243zqn0q5XhF5z6/Zrbydx2hwefbY++e1yy7mfeq/aLlv6qJadei1\n kqsaYr2A1BphS5SWR/J+AaQlLGOHZJOL4rFhjLEM0gzOvgUg/qVqOJp2HOOcv7TnjjPy\n TRPm7pshqIsqoBZyfy7XvHie9Goo8uuxTTlBthwWSOskl9J1A6MIDNoBgM3OanKq8Di7\n 0XRg==", "X-Gm-Message-State": "AOAM530i719AwtiIn5F/Asbvi1teL+zy8r8RX6YRkkQBeJqqZjDRFXtU\n cX/1AsgNm72280S6vnHpPSBnmg==", "X-Google-Smtp-Source": "\n ABdhPJy4bJnwNOf1MrW6s3GvjjsUFIPAM/OSwy+wujOy+lU/vXFylBTRTRMGQrrLUw/Ezm0fGHRxEA==", "X-Received": "by 2002:a62:2605:: with SMTP id m5mr1340217pfm.137.1599666806165;\n Wed, 09 Sep 2020 08:53:26 -0700 (PDT)", "From": "Lance Richardson <lance.richardson@broadcom.com>", "To": "Ajit Khaparde <ajit.khaparde@broadcom.com>,\n Somnath Kotur <somnath.kotur@broadcom.com>", "Cc": "dev@dpdk.org", "Date": "Wed, 9 Sep 2020 11:52:59 -0400", "Message-Id": "<20200909155302.28656-7-lance.richardson@broadcom.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20200909155302.28656-1-lance.richardson@broadcom.com>", "References": "<20200909155302.28656-1-lance.richardson@broadcom.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 06/12] net/bnxt: use smaller cq when agg ring not\n\tneeded", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Don't allocate extra completion queue entries for aggregation\nring when aggregation ring will not be used.\n\nReviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>\nSigned-off-by: Lance Richardson <lance.richardson@broadcom.com>\n---\n drivers/net/bnxt/bnxt_ethdev.c | 11 +++++------\n drivers/net/bnxt/bnxt_rxr.c | 21 +++++++++++++++++++--\n 2 files changed, 24 insertions(+), 8 deletions(-)", "diff": "diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c\nindex 1ad9bfc0a6..27eba431b8 100644\n--- a/drivers/net/bnxt/bnxt_ethdev.c\n+++ b/drivers/net/bnxt/bnxt_ethdev.c\n@@ -1295,6 +1295,8 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)\n \tstruct rte_intr_handle *intr_handle = &pci_dev->intr_handle;\n \n \teth_dev->data->dev_started = 0;\n+\teth_dev->data->scattered_rx = 0;\n+\n \t/* Prevent crashes when queues are still in use */\n \teth_dev->rx_pkt_burst = &bnxt_dummy_recv_pkts;\n \teth_dev->tx_pkt_burst = &bnxt_dummy_xmit_pkts;\n@@ -2695,14 +2697,12 @@ int bnxt_mtu_set_op(struct rte_eth_dev *eth_dev, uint16_t new_mtu)\n \tnew_pkt_size = new_mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN +\n \t\t VLAN_TAG_SIZE * BNXT_NUM_VLANS;\n \n-#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)\n \t/*\n-\t * If vector-mode tx/rx is active, disallow any MTU change that would\n-\t * require scattered receive support.\n+\t * Disallow any MTU change that would require scattered receive support\n+\t * if it is not already enabled.\n \t */\n \tif (eth_dev->data->dev_started &&\n-\t (eth_dev->rx_pkt_burst == bnxt_recv_pkts_vec ||\n-\t eth_dev->tx_pkt_burst == bnxt_xmit_pkts_vec) &&\n+\t !eth_dev->data->scattered_rx &&\n \t (new_pkt_size >\n \t eth_dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {\n \t\tPMD_DRV_LOG(ERR,\n@@ -2710,7 +2710,6 @@ int bnxt_mtu_set_op(struct rte_eth_dev *eth_dev, uint16_t new_mtu)\n \t\tPMD_DRV_LOG(ERR, \"Stop port before changing MTU.\\n\");\n \t\treturn -EINVAL;\n \t}\n-#endif\n \n \tif (new_mtu > RTE_ETHER_MTU) {\n \t\tbp->flags |= BNXT_FLAG_JUMBO;\ndiff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c\nindex 92102e3d57..5673e2b50f 100644\n--- a/drivers/net/bnxt/bnxt_rxr.c\n+++ b/drivers/net/bnxt/bnxt_rxr.c\n@@ -938,9 +938,12 @@ void bnxt_free_rx_rings(struct bnxt *bp)\n \n int bnxt_init_rx_ring_struct(struct bnxt_rx_queue *rxq, unsigned int socket_id)\n {\n+\tstruct rte_eth_dev *eth_dev = rxq->bp->eth_dev;\n+\tstruct rte_eth_rxmode *rxmode;\n \tstruct bnxt_cp_ring_info *cpr;\n \tstruct bnxt_rx_ring_info *rxr;\n \tstruct bnxt_ring *ring;\n+\tbool use_agg_ring;\n \n \trxq->rx_buf_size = BNXT_MAX_PKT_LEN + sizeof(struct rte_mbuf);\n \n@@ -978,8 +981,22 @@ int bnxt_init_rx_ring_struct(struct bnxt_rx_queue *rxq, unsigned int socket_id)\n \tif (ring == NULL)\n \t\treturn -ENOMEM;\n \tcpr->cp_ring_struct = ring;\n-\tring->ring_size = rte_align32pow2(rxr->rx_ring_struct->ring_size *\n-\t\t\t\t\t (2 + AGG_RING_SIZE_FACTOR));\n+\n+\trxmode = ð_dev->data->dev_conf.rxmode;\n+\tuse_agg_ring = (rxmode->offloads & DEV_RX_OFFLOAD_SCATTER) ||\n+\t\t (rxmode->offloads & DEV_RX_OFFLOAD_TCP_LRO) ||\n+\t\t (rxmode->max_rx_pkt_len >\n+\t\t\t (uint32_t)(rte_pktmbuf_data_room_size(rxq->mb_pool) -\n+\t\t\t\t RTE_PKTMBUF_HEADROOM));\n+\n+\t/* Allocate two completion slots per entry in desc ring. */\n+\tring->ring_size = rxr->rx_ring_struct->ring_size * 2;\n+\n+\t/* Allocate additional slots if aggregation ring is in use. */\n+\tif (use_agg_ring)\n+\t\tring->ring_size *= AGG_RING_SIZE_FACTOR;\n+\n+\tring->ring_size = rte_align32pow2(ring->ring_size);\n \tring->ring_mask = ring->ring_size - 1;\n \tring->bd = (void *)cpr->cp_desc_ring;\n \tring->bd_dma = cpr->cp_desc_mapping;\n", "prefixes": [ "06/12" ] }{ "id": 77070, "url": "