Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/652437/?format=api
{ "id": 652437, "url": "http://patchwork.ozlabs.org/api/patches/652437/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1469488555-28187-11-git-send-email-bimmy.pujari@intel.com/", "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": "<1469488555-28187-11-git-send-email-bimmy.pujari@intel.com>", "list_archive_url": null, "date": "2016-07-25T23:15:52", "name": "[next,S40,10/13] i40e: fix lookup table when RSS disabled/enabled", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "c3db64cf4d10d25fb65500deba45ffa490f29267", "submitter": { "id": 68919, "url": "http://patchwork.ozlabs.org/api/people/68919/?format=api", "name": "Pujari, Bimmy", "email": "bimmy.pujari@intel.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1469488555-28187-11-git-send-email-bimmy.pujari@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/652437/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/652437/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 fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\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 3ryxtw5MLPz9s9Y\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 26 Jul 2016 09:15:36 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 510D688A67;\n\tMon, 25 Jul 2016 23:15:35 +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 h7anmkkinPeG; Mon, 25 Jul 2016 23:15:33 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id A5CB688AB0;\n\tMon, 25 Jul 2016 23:15:32 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 72B921C1511\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:27 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 6F9FF866E4\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:27 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id NqnuEwU5bL+k for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:25 +0000 (UTC)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 0AB2088BA2\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:25 +0000 (UTC)", "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby orsmga103.jf.intel.com with ESMTP; 25 Jul 2016 16:15:25 -0700", "from bimmy.jf.intel.com (HELO bimmy.linux1.jf.intel.com)\n\t([134.134.2.177])\n\tby orsmga003.jf.intel.com with ESMTP; 25 Jul 2016 16:15:23 -0700" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.28,421,1464678000\"; d=\"scan'208\";a=\"853301727\"", "From": "Bimmy Pujari <bimmy.pujari@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Mon, 25 Jul 2016 16:15:52 -0700", "Message-Id": "<1469488555-28187-11-git-send-email-bimmy.pujari@intel.com>", "X-Mailer": "git-send-email 2.4.11", "In-Reply-To": "<1469488555-28187-1-git-send-email-bimmy.pujari@intel.com>", "References": "<1469488555-28187-1-git-send-email-bimmy.pujari@intel.com>", "Cc": "\"Alan, Brady\" <alan.brady@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S40 10/13] i40e: fix lookup table\n\twhen RSS disabled/enabled", "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>", "MIME-Version": "1.0", "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: \"Alan, Brady\" <alan.brady@intel.com>\n\nThis patch fixes the bug which causes RSS to continue to work\nafter being disabled. After disabling RSS, traffic would continue\nto be assigned to different queues instead of falling back to a\nsingle queue. Without this patch, attempting to disable RSS would\nnot work as expected. This patch fixes the bug by clearing the\nlookup table used by RSS such that all traffic is assigned to a\nsingle queue. This patch also addresses the issue of reinstating\n the lookup table should RSS then be re-enabled.\n\nSigned-off-by: Alan Brady <alan.brady@intel.com>\nChange-ID: Ib20c7c6a7e9f1f772bb787370f8a8c664796b141\n---\n drivers/net/ethernet/intel/i40e/i40e_main.c | 28 ++++++++++++++++++++++++++++\n 1 file changed, 28 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex c130149..a33e902 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -8658,6 +8658,28 @@ bool i40e_set_ntuple(struct i40e_pf *pf, netdev_features_t features)\n }\n \n /**\n+ * i40e_clear_rss_lut - clear the rx hash lookup table\n+ * @vsi: the VSI being configured\n+ **/\n+static void i40e_clear_rss_lut(struct i40e_vsi *vsi)\n+{\n+\tstruct i40e_pf *pf = vsi->back;\n+\tstruct i40e_hw *hw = &pf->hw;\n+\tu16 vf_id = vsi->vf_id;\n+\tu8 i;\n+\n+\tif (vsi->type == I40E_VSI_MAIN) {\n+\t\tfor (i = 0; i <= I40E_PFQF_HLUT_MAX_INDEX; i++)\n+\t\t\twr32(hw, I40E_PFQF_HLUT(i), 0);\n+\t} else if (vsi->type == I40E_VSI_SRIOV) {\n+\t\tfor (i = 0; i <= I40E_VFQF_HLUT_MAX_INDEX; i++)\n+\t\t\ti40e_write_rx_ctl(hw, I40E_VFQF_HLUT1(i, vf_id), 0);\n+\t} else {\n+\t\tdev_err(&pf->pdev->dev, \"Cannot set RSS LUT - invalid VSI type\\n\");\n+\t}\n+}\n+\n+/**\n * i40e_set_features - set the netdev feature flags\n * @netdev: ptr to the netdev being adjusted\n * @features: the feature set that the stack is suggesting\n@@ -8670,6 +8692,12 @@ static int i40e_set_features(struct net_device *netdev,\n \tstruct i40e_pf *pf = vsi->back;\n \tbool need_reset;\n \n+\tif (features & NETIF_F_RXHASH && !(netdev->features & NETIF_F_RXHASH))\n+\t\ti40e_pf_config_rss(pf);\n+\telse if (!(features & NETIF_F_RXHASH) &&\n+\t\t netdev->features & NETIF_F_RXHASH)\n+\t\ti40e_clear_rss_lut(vsi);\n+\n \tif (features & NETIF_F_HW_VLAN_CTAG_RX)\n \t\ti40e_vlan_stripping_enable(vsi);\n \telse\n", "prefixes": [ "next", "S40", "10/13" ] }