Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/85260/?format=api
https://patches.dpdk.org/api/patches/85260/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20201216211257.37195-2-aboyer@pensando.io/", "project": { "id": 1, "url": "https://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": "<20201216211257.37195-2-aboyer@pensando.io>", "list_archive_url": "https://inbox.dpdk.org/dev/20201216211257.37195-2-aboyer@pensando.io", "date": "2020-12-16T21:12:51", "name": "[v2,1/7] net/ionic: preserve RSS state unless RETA size changes", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "6cdc1330461bb531567a54593d9fbac02fb82cfe", "submitter": { "id": 2036, "url": "https://patches.dpdk.org/api/people/2036/?format=api", "name": "Andrew Boyer", "email": "aboyer@pensando.io" }, "delegate": { "id": 319, "url": "https://patches.dpdk.org/api/users/319/?format=api", "username": "fyigit", "first_name": "Ferruh", "last_name": "Yigit", "email": "ferruh.yigit@amd.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20201216211257.37195-2-aboyer@pensando.io/mbox/", "series": [ { "id": 14335, "url": "https://patches.dpdk.org/api/series/14335/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=14335", "date": "2020-12-16T21:12:50", "name": "net/ionic: fixes for stop and start", "version": 2, "mbox": "https://patches.dpdk.org/series/14335/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/85260/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/85260/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 D8461A09F0;\n\tWed, 16 Dec 2020 22:13:40 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 81CA6C9D8;\n\tWed, 16 Dec 2020 22:13:25 +0100 (CET)", "from mail-pl1-f170.google.com (mail-pl1-f170.google.com\n [209.85.214.170]) by dpdk.org (Postfix) with ESMTP id 787B2C9D6\n for <dev@dpdk.org>; Wed, 16 Dec 2020 22:13:23 +0100 (CET)", "by mail-pl1-f170.google.com with SMTP id v3so13647914plz.13\n for <dev@dpdk.org>; Wed, 16 Dec 2020 13:13:23 -0800 (PST)", "from driver-dev1.pensando.io ([12.226.153.42])\n by smtp.gmail.com with ESMTPSA id r67sm3345614pfc.82.2020.12.16.13.13.20\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 16 Dec 2020 13:13:20 -0800 (PST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :in-reply-to:references;\n bh=g5MRGZOM2ag3W4mzO0OaYTErIvBW8n30gLP1q6tXNSI=;\n b=KJEXrlRBe+EdAzVam27gSy4cbOUmFecxeuPZA1xKDIw3uT8vCKwbVdFul2HQlz7TFc\n JCQ2CbafBkRrLg5AsEtfqyynwJOGFLKtI96ToBjbp5rkVy9JwdkvTKiG7JTEVkQSbDxa\n DqGy1q4ZH5lX9Uh8YS9XXcBnzYTmw8B1E4FYLMpYw8OavrC7cRaOgihXfLyAfJervmv2\n B2zhhNJ+cyCHI2JDzJvTGypJPHalFEj+DreoAUd7auUoCkPG44K3XWDkOI1X2wMhrKnq\n Kk8uN1S4VQUrZ/LxKq+sW2QfJwGNaD+7ovCEVHSKmAheb01kwqkqrvtvEcg5WV3stvlP\n +cWA==", "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:in-reply-to:references;\n bh=g5MRGZOM2ag3W4mzO0OaYTErIvBW8n30gLP1q6tXNSI=;\n b=geKfsIWUfp4np+yu0zkza++VSJr/L+W8eHLsjfF7T8pYmIM4a60F4hNvd0urE4sRzY\n 3GzEup4CZceGsCNkF8e8H8TMloj5NjSMxW6rwgNiFC2prtKW1iW3KUHqVGBlIFmX8hII\n uEfZxmAW78IEi2L0bPjknA0ya3vrFwu4MR2Ks12iKM6A06YqQQFPb6sQOSGdymRz7mjd\n U42Ix4rzrvN+HxHwcB4OcjK4U9aRIe7NisphgNeOTnvMmFIaPAuOeQT/DTUgmcNaVB+V\n SQiomCfG2ybpig+NZIiNqnZzU24H58ZUCHNKsHZK8JTIW3tEoEUuXU/uimGzOWT+ikLc\n ewnw==", "X-Gm-Message-State": "AOAM531Wl9f7d78Igz9HNiBJ7xtfE6BsKapqtZp3sBEgWO5Q4NkGWgGU\n gqVQuEzL41/HhBgrVn2pMgIg3MwhD1osgg==", "X-Google-Smtp-Source": "\n ABdhPJyRFCr0ianEs5VvwPeWx2Crxbd9sX63CA31HIAHXXK2XFA6W4Hnfg0bm6O1kxjnks7W5aPxKw==", "X-Received": "by 2002:a17:902:bb92:b029:d9:e9bf:b775 with SMTP id\n m18-20020a170902bb92b02900d9e9bfb775mr8117251pls.24.1608153201376;\n Wed, 16 Dec 2020 13:13:21 -0800 (PST)", "From": "Andrew Boyer <aboyer@pensando.io>", "To": "dev@dpdk.org", "Cc": "Alfredo Cardigliano <cardigliano@ntop.org>,\n Andrew Boyer <aboyer@pensando.io>", "Date": "Wed, 16 Dec 2020 13:12:51 -0800", "Message-Id": "<20201216211257.37195-2-aboyer@pensando.io>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": [ "<20201216211257.37195-1-aboyer@pensando.io>", "<20201210142231.63209-1-aboyer@pensando.io>" ], "References": [ "<20201216211257.37195-1-aboyer@pensando.io>", "<20201210142231.63209-1-aboyer@pensando.io>" ], "Subject": "[dpdk-dev] [PATCH v2 1/7] net/ionic: preserve RSS state unless RETA\n\tsize changes", "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": "This preserves settings across a LIF stop/start.\nThis will become important when link toggling is tied to LIF stop/start.\n\nSigned-off-by: Andrew Boyer <aboyer@pensando.io>\n---\n drivers/net/ionic/ionic_lif.c | 44 ++++++++++++++++-------------------\n drivers/net/ionic/ionic_lif.h | 1 +\n 2 files changed, 21 insertions(+), 24 deletions(-)", "diff": "diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c\nindex 28ae9dc8a..646c921b2 100644\n--- a/drivers/net/ionic/ionic_lif.c\n+++ b/drivers/net/ionic/ionic_lif.c\n@@ -962,8 +962,6 @@ ionic_lif_rss_config(struct ionic_lif *lif,\n static int\n ionic_lif_rss_setup(struct ionic_lif *lif)\n {\n-\tsize_t tbl_size = sizeof(*lif->rss_ind_tbl) *\n-\t\tlif->adapter->ident.lif.eth.rss_ind_tbl_sz;\n \tstatic const uint8_t toeplitz_symmetric_key[] = {\n \t\t0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,\n \t\t0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,\n@@ -971,34 +969,35 @@ ionic_lif_rss_setup(struct ionic_lif *lif)\n \t\t0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,\n \t\t0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,\n \t};\n-\tuint32_t socket_id = rte_socket_id();\n \tuint32_t i;\n-\tint err;\n+\tuint16_t tbl_sz = lif->adapter->ident.lif.eth.rss_ind_tbl_sz;\n \n \tIONIC_PRINT_CALL();\n \n-\tlif->rss_ind_tbl_z = rte_eth_dma_zone_reserve(lif->eth_dev,\n-\t\t\"rss_ind_tbl\",\n-\t\t0 /* queue_idx*/, tbl_size, IONIC_ALIGN, socket_id);\n-\n \tif (!lif->rss_ind_tbl_z) {\n-\t\tIONIC_PRINT(ERR, \"OOM\");\n-\t\treturn -ENOMEM;\n-\t}\n+\t\tlif->rss_ind_tbl_z = rte_eth_dma_zone_reserve(lif->eth_dev,\n+\t\t\t\t\t\"rss_ind_tbl\", 0 /* queue_idx */,\n+\t\t\t\t\tsizeof(*lif->rss_ind_tbl) * tbl_sz,\n+\t\t\t\t\tIONIC_ALIGN, rte_socket_id());\n+\t\tif (!lif->rss_ind_tbl_z) {\n+\t\t\tIONIC_PRINT(ERR, \"OOM\");\n+\t\t\treturn -ENOMEM;\n+\t\t}\n \n-\tlif->rss_ind_tbl = lif->rss_ind_tbl_z->addr;\n-\tlif->rss_ind_tbl_pa = lif->rss_ind_tbl_z->iova;\n+\t\tlif->rss_ind_tbl = lif->rss_ind_tbl_z->addr;\n+\t\tlif->rss_ind_tbl_pa = lif->rss_ind_tbl_z->iova;\n+\t}\n \n-\t/* Fill indirection table with 'default' values */\n-\tfor (i = 0; i < lif->adapter->ident.lif.eth.rss_ind_tbl_sz; i++)\n-\t\tlif->rss_ind_tbl[i] = i % lif->nrxqcqs;\n+\tif (lif->rss_ind_tbl_nrxqcqs != lif->nrxqcqs) {\n+\t\tlif->rss_ind_tbl_nrxqcqs = lif->nrxqcqs;\n \n-\terr = ionic_lif_rss_config(lif, IONIC_RSS_OFFLOAD_ALL,\n-\t\ttoeplitz_symmetric_key, NULL);\n-\tif (err)\n-\t\treturn err;\n+\t\t/* Fill indirection table with 'default' values */\n+\t\tfor (i = 0; i < tbl_sz; i++)\n+\t\t\tlif->rss_ind_tbl[i] = i % lif->nrxqcqs;\n+\t}\n \n-\treturn 0;\n+\treturn ionic_lif_rss_config(lif, IONIC_RSS_OFFLOAD_ALL,\n+\t\t\ttoeplitz_symmetric_key, NULL);\n }\n \n static void\n@@ -1578,9 +1577,6 @@ ionic_lif_start(struct ionic_lif *lif)\n \tuint32_t i;\n \tint err;\n \n-\tIONIC_PRINT(DEBUG, \"Setting RSS configuration on port %u\",\n-\t\tlif->port_id);\n-\n \terr = ionic_lif_rss_setup(lif);\n \tif (err)\n \t\treturn err;\ndiff --git a/drivers/net/ionic/ionic_lif.h b/drivers/net/ionic/ionic_lif.h\nindex 8e2b42443..b80931c61 100644\n--- a/drivers/net/ionic/ionic_lif.h\n+++ b/drivers/net/ionic/ionic_lif.h\n@@ -108,6 +108,7 @@ struct ionic_lif {\n \tuint8_t *rss_ind_tbl;\n \trte_iova_t rss_ind_tbl_pa;\n \tconst struct rte_memzone *rss_ind_tbl_z;\n+\tuint32_t rss_ind_tbl_nrxqcqs;\n \tuint32_t info_sz;\n \tstruct ionic_lif_info *info;\n \trte_iova_t info_pa;\n", "prefixes": [ "v2", "1/7" ] }{ "id": 85260, "url": "