Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/667227/?format=api
{ "id": 667227, "url": "http://patchwork.ozlabs.org/api/patches/667227/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20160908032824.25312.34696.stgit@localhost.localdomain/", "project": { "id": 46, "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api", "name": "Intel Wired Ethernet development", "link_name": "intel-wired-lan", "list_id": "intel-wired-lan.osuosl.org", "list_email": "intel-wired-lan@osuosl.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20160908032824.25312.34696.stgit@localhost.localdomain>", "list_archive_url": null, "date": "2016-09-08T03:28:24", "name": "[next,3/3] ixgbe: Support 4 queue RSS on VFs with 1 or 2 queue RSS on PF", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "a1a4233d8d570b2faeecd93cb7301af649cbc519", "submitter": { "id": 252, "url": "http://patchwork.ozlabs.org/api/people/252/?format=api", "name": "Alexander Duyck", "email": "alexander.duyck@gmail.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20160908032824.25312.34696.stgit@localhost.localdomain/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/667227/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/667227/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@lists.osuosl.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Received": [ "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3sV5QQ5MSdz9s5g\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 8 Sep 2016 13:28:30 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 55A0F8CAC4;\n\tThu, 8 Sep 2016 03:28:29 +0000 (UTC)", "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id RZVhcK8x8Jl5; Thu, 8 Sep 2016 03:28:28 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 76A4589F4D;\n\tThu, 8 Sep 2016 03:28:28 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id DCA911C2D79\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 8 Sep 2016 03:28:26 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id D8003C0C90\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 8 Sep 2016 03:28:26 +0000 (UTC)", "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id cJY5wXOq_tFu for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 8 Sep 2016 03:28:26 +0000 (UTC)", "from mail-pf0-f194.google.com (mail-pf0-f194.google.com\n\t[209.85.192.194])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 4118AC0A87\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 8 Sep 2016 03:28:26 +0000 (UTC)", "by mail-pf0-f194.google.com with SMTP id 128so1844872pfb.0\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 07 Sep 2016 20:28:26 -0700 (PDT)", "from localhost.localdomain ([2001:470:b:9c3:9e5c:8eff:fe4f:f2d0])\n\tby smtp.gmail.com with ESMTPSA id\n\tve9sm52162704pac.12.2016.09.07.20.28.24\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 07 Sep 2016 20:28:25 -0700 (PDT)" ], "Authentication-Results": "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com header.b=A/ch2nSS;\n\tdkim-atps=neutral", "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;\n\th=subject:from:to:cc:date:message-id:in-reply-to:references\n\t:user-agent:mime-version:content-transfer-encoding;\n\tbh=tqZU2wrBJG67xESx76Vqc/5w10sMLlWQkBhVHk6cBKE=;\n\tb=A/ch2nSSzMt3iL14aC/Gtu1kSY43xYCMS5QNFTJDlc2bwcDErMTuwXI6nRbYAG2gbt\n\tLUNs7mYoPSWww4lT3fvwre9SySIvbSPLGVUe5S9IQHaOjsZWpbJplKSonN27Bt+To0oL\n\t6CcMiDFCiuggIOQJaPDn/s37qZ0AYlMpkZp0FeK2XUpf2Mnoh22HPCPnFRodnJHmknIp\n\tG1a8zOkjSY1ohbGqcHerO/+gmIvy+U2XMLn7Ae/GdY32O85oI2aFAm7xCZ5ar5Jf69mh\n\tYCqg2nIOxI62UGJYVjQjxkrO8xwlUotBUrPEuzaDBYqT7l5En2Dhp1krRUqKhSryslQA\n\tJKLQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:subject:from:to:cc:date:message-id:in-reply-to\n\t:references:user-agent:mime-version:content-transfer-encoding;\n\tbh=tqZU2wrBJG67xESx76Vqc/5w10sMLlWQkBhVHk6cBKE=;\n\tb=kSPVQZ/FiJBw0jExwgf3SMLBIuzQn39DR/lbl+XeBvkdFA7NiO0kkfI5sw3k6Xd1Wt\n\tD+I0w9Z9ndMYX9wF/XLLiiVNvGgj+EIa36glv44j5ulSFCVNh0iRoGILCFlyPYiyzEZ/\n\tN4x9oJ3f4teP8QP91k2nGtotGjeiVOOy6nxywinQWNSs7F7BALVhzMMmxvctVM52T98n\n\ti/FVgJEC3FFa29swwF1tABi2VtFnX9dfb4ZCPu9Yh1GRrea/dUKMZBdI551H4d3tiSoL\n\tFJIjEDcDHWsGWX7D5YMbx9WHCdnxMPMXVe0zsUa1av+Akc6krqBVZLcreHQjkKJvqTBq\n\tnAJg==", "X-Gm-Message-State": "AE9vXwNLJehxKY+tgqwDkscWExiIvviLw2APqLuFB0sGKuzzWh2T9ia1YSlx7urWs7jNEA==", "X-Received": "by 10.98.76.220 with SMTP id e89mr47580117pfj.99.1473305305943; \n\tWed, 07 Sep 2016 20:28:25 -0700 (PDT)", "From": "Alexander Duyck <alexander.duyck@gmail.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Wed, 07 Sep 2016 20:28:24 -0700", "Message-ID": "<20160908032824.25312.34696.stgit@localhost.localdomain>", "In-Reply-To": "<20160908032606.25312.86849.stgit@localhost.localdomain>", "References": "<20160908032606.25312.86849.stgit@localhost.localdomain>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Cc": "ruslan@purestorage.com, muthurajan.jayakumar@intel.com,\n\tchristopher.r.blevins@intel.com", "Subject": "[Intel-wired-lan] [next PATCH 3/3] ixgbe: Support 4 queue RSS on\n\tVFs with 1 or 2 queue RSS on PF", "X-BeenThere": "intel-wired-lan@lists.osuosl.org", "X-Mailman-Version": "2.1.18-1", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>", "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>", "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>" }, "content": "From: Alexander Duyck <alexander.h.duyck@intel.com>\n\nInstead of limiting the VFs if we don't use 4 queues for RSS in the PF we\ncan instead just limit the RSS queues used to a power of 2. By doing this\nwe can support use cases where VFs are using more queues than the PF is\ncurrently using and can support RSS if so desired.\n\nThe only limitation on this is that we cannot support 3 queues of RSS in\nthe PF or VF. In either of these cases we should fall back to 2 queues in\norder to be able to use the power of 2 masking provided by the psrtype\nregister.\n\nSigned-off-by: Alexander Duyck <alexander.h.duyck@intel.com>\n---\n drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 7 ++++---\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 12 +++++++-----\n 2 files changed, 11 insertions(+), 8 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c\nindex bcdc88444ceb..15ab337fd7ad 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c\n@@ -515,15 +515,16 @@ static bool ixgbe_set_sriov_queues(struct ixgbe_adapter *adapter)\n \tvmdq_i = min_t(u16, IXGBE_MAX_VMDQ_INDICES, vmdq_i);\n \n \t/* 64 pool mode with 2 queues per pool */\n-\tif ((vmdq_i > 32) || (rss_i < 4) || (vmdq_i > 16 && pools)) {\n+\tif ((vmdq_i > 32) || (vmdq_i > 16 && pools)) {\n \t\tvmdq_m = IXGBE_82599_VMDQ_2Q_MASK;\n \t\trss_m = IXGBE_RSS_2Q_MASK;\n \t\trss_i = min_t(u16, rss_i, 2);\n-\t/* 32 pool mode with 4 queues per pool */\n+\t/* 32 pool mode with up to 4 queues per pool */\n \t} else {\n \t\tvmdq_m = IXGBE_82599_VMDQ_4Q_MASK;\n \t\trss_m = IXGBE_RSS_4Q_MASK;\n-\t\trss_i = 4;\n+\t\t/* We can support 4, 2, or 1 queues */\n+\t\trss_i = (rss_i > 3) ? 4 : (rss_i > 1) ? 2 : 1;\n \t}\n \n #ifdef IXGBE_FCOE\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex 1c888588cecd..a244d9a67264 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -3248,7 +3248,8 @@ static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)\n \t\t\tmtqc |= IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ;\n \t\telse if (tcs > 1)\n \t\t\tmtqc |= IXGBE_MTQC_RT_ENA | IXGBE_MTQC_4TC_4TQ;\n-\t\telse if (adapter->ring_feature[RING_F_RSS].indices == 4)\n+\t\telse if (adapter->ring_feature[RING_F_VMDQ].mask ==\n+\t\t\t IXGBE_82599_VMDQ_4Q_MASK)\n \t\t\tmtqc |= IXGBE_MTQC_32VF;\n \t\telse\n \t\t\tmtqc |= IXGBE_MTQC_64VF;\n@@ -3475,12 +3476,12 @@ static void ixgbe_setup_reta(struct ixgbe_adapter *adapter)\n \tu32 reta_entries = ixgbe_rss_indir_tbl_entries(adapter);\n \tu16 rss_i = adapter->ring_feature[RING_F_RSS].indices;\n \n-\t/* Program table for at least 2 queues w/ SR-IOV so that VFs can\n+\t/* Program table for at least 4 queues w/ SR-IOV so that VFs can\n \t * make full use of any rings they may have. We will use the\n \t * PSRTYPE register to control how many rings we use within the PF.\n \t */\n-\tif ((adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) && (rss_i < 2))\n-\t\trss_i = 2;\n+\tif ((adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) && (rss_i < 4))\n+\t\trss_i = 4;\n \n \t/* Fill out hash function seeds */\n \tfor (i = 0; i < 10; i++)\n@@ -3544,7 +3545,8 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)\n \t\t\t\tmrqc = IXGBE_MRQC_VMDQRT8TCEN;\t/* 8 TCs */\n \t\t\telse if (tcs > 1)\n \t\t\t\tmrqc = IXGBE_MRQC_VMDQRT4TCEN;\t/* 4 TCs */\n-\t\t\telse if (adapter->ring_feature[RING_F_RSS].indices == 4)\n+\t\t\telse if (adapter->ring_feature[RING_F_VMDQ].mask ==\n+\t\t\t\t IXGBE_82599_VMDQ_4Q_MASK)\n \t\t\t\tmrqc = IXGBE_MRQC_VMDQRSS32EN;\n \t\t\telse\n \t\t\t\tmrqc = IXGBE_MRQC_VMDQRSS64EN;\n", "prefixes": [ "next", "3/3" ] }