Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/584399/?format=api
{ "id": 584399, "url": "http://patchwork.ozlabs.org/api/patches/584399/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1455754344-6372-6-git-send-email-avinash.dayanand@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": "<1455754344-6372-6-git-send-email-avinash.dayanand@intel.com>", "list_archive_url": null, "date": "2016-02-18T00:12:15", "name": "[next,S29,05/14] i40e: Do not wait for Rx queue disable in DCB reconfig", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "73c57f9d818b9b5a85e683cfcda4bab7c007b2b2", "submitter": { "id": 67689, "url": "http://patchwork.ozlabs.org/api/people/67689/?format=api", "name": "Dayanand, Avinash", "email": "avinash.dayanand@intel.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/1455754344-6372-6-git-send-email-avinash.dayanand@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/584399/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/584399/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\tby ozlabs.org (Postfix) with ESMTP id 2D1A1140297\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 18 Feb 2016 11:12:41 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 45981921FF;\n\tThu, 18 Feb 2016 00:12:41 +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 RcORI-x56YlV; Thu, 18 Feb 2016 00:12:36 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id CA7C392360;\n\tThu, 18 Feb 2016 00:12:32 +0000 (UTC)", "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id BAC6F1C0BC2\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 18 Feb 2016 00:12:29 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id B64253115A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 18 Feb 2016 00:12:29 +0000 (UTC)", "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id 9yROaeKIdEYa for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 18 Feb 2016 00:12:26 +0000 (UTC)", "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby silver.osuosl.org (Postfix) with ESMTP id 17E4733AD0\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 18 Feb 2016 00:12:26 +0000 (UTC)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby fmsmga103.fm.intel.com with ESMTP; 17 Feb 2016 16:12:26 -0800", "from jahay1-mobl2.amr.corp.intel.com (HELO\n\tlocalhost.localdomain.localdomain) ([134.134.3.116])\n\tby fmsmga002.fm.intel.com with ESMTP; 17 Feb 2016 16:12:25 -0800" ], "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.22,463,1449561600\"; d=\"scan'208\";a=\"918067179\"", "From": "Avinash Dayanand <avinash.dayanand@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Wed, 17 Feb 2016 16:12:15 -0800", "Message-Id": "<1455754344-6372-6-git-send-email-avinash.dayanand@intel.com>", "X-Mailer": "git-send-email 2.1.0", "In-Reply-To": "<1455754344-6372-1-git-send-email-avinash.dayanand@intel.com>", "References": "<1455754344-6372-1-git-send-email-avinash.dayanand@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S29 05/14] i40e: Do not wait for Rx\n\tqueue disable in DCB reconfig", "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: Neerav Parikh <neerav.parikh@intel.com>\n\nJust like Tx queues don't wait for Rx queues to be disabled before\nDCB has been reconfigured.\nCheck the queues are disabled only after the DCB configuration has\nbeen applied to the VSI(s) managed by the PF driver.\n\nIn case of any timeout issue a PF reset to recover.\n\nSigned-off-by: Neerav Parikh <neerav.parikh@intel.com>\nChange-ID: Ic51e94c25baf9a5480cee983f35d15575a88642c\n---\n drivers/net/ethernet/intel/i40e/i40e_main.c | 33 +++++++++++++++++++++--------\n 1 file changed, 24 insertions(+), 9 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex 8919dc7..3c658a29 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -3929,6 +3929,9 @@ static int i40e_vsi_control_rx(struct i40e_vsi *vsi, bool enable)\n \t\telse\n \t\t\trx_reg &= ~I40E_QRX_ENA_QENA_REQ_MASK;\n \t\twr32(hw, I40E_QRX_ENA(pf_q), rx_reg);\n+\t\t/* No waiting for the Tx queue to disable */\n+\t\tif (!enable && test_bit(__I40E_PORT_TX_SUSPENDED, &pf->state))\n+\t\t\tcontinue;\n \n \t\t/* wait for the change to finish */\n \t\tret = i40e_pf_rxq_wait(pf, pf_q, enable);\n@@ -4287,12 +4290,12 @@ static void i40e_pf_unquiesce_all_vsi(struct i40e_pf *pf)\n \n #ifdef CONFIG_I40E_DCB\n /**\n- * i40e_vsi_wait_txq_disabled - Wait for VSI's queues to be disabled\n+ * i40e_vsi_wait_queues_disabled - Wait for VSI's queues to be disabled\n * @vsi: the VSI being configured\n *\n- * This function waits for the given VSI's Tx queues to be disabled.\n+ * This function waits for the given VSI's queues to be disabled.\n **/\n-static int i40e_vsi_wait_txq_disabled(struct i40e_vsi *vsi)\n+static int i40e_vsi_wait_queues_disabled(struct i40e_vsi *vsi)\n {\n \tstruct i40e_pf *pf = vsi->back;\n \tint i, pf_q, ret;\n@@ -4309,24 +4312,36 @@ static int i40e_vsi_wait_txq_disabled(struct i40e_vsi *vsi)\n \t\t}\n \t}\n \n+\tpf_q = vsi->base_queue;\n+\tfor (i = 0; i < vsi->num_queue_pairs; i++, pf_q++) {\n+\t\t/* Check and wait for the disable status of the queue */\n+\t\tret = i40e_pf_rxq_wait(pf, pf_q, false);\n+\t\tif (ret) {\n+\t\t\tdev_info(&pf->pdev->dev,\n+\t\t\t\t \"VSI seid %d Rx ring %d disable timeout\\n\",\n+\t\t\t\t vsi->seid, pf_q);\n+\t\t\treturn ret;\n+\t\t}\n+\t}\n+\n \treturn 0;\n }\n \n /**\n- * i40e_pf_wait_txq_disabled - Wait for all queues of PF VSIs to be disabled\n+ * i40e_pf_wait_queues_disabled - Wait for all queues of PF VSIs to be disabled\n * @pf: the PF\n *\n- * This function waits for the Tx queues to be in disabled state for all the\n+ * This function waits for the queues to be in disabled state for all the\n * VSIs that are managed by this PF.\n **/\n-static int i40e_pf_wait_txq_disabled(struct i40e_pf *pf)\n+static int i40e_pf_wait_queues_disabled(struct i40e_pf *pf)\n {\n \tint v, ret = 0;\n \n \tfor (v = 0; v < pf->hw.func_caps.num_vsis; v++) {\n \t\t/* No need to wait for FCoE VSI queues */\n \t\tif (pf->vsi[v] && pf->vsi[v]->type != I40E_VSI_FCOE) {\n-\t\t\tret = i40e_vsi_wait_txq_disabled(pf->vsi[v]);\n+\t\t\tret = i40e_vsi_wait_queues_disabled(pf->vsi[v]);\n \t\t\tif (ret)\n \t\t\t\tbreak;\n \t\t}\n@@ -5722,8 +5737,8 @@ static int i40e_handle_lldp_event(struct i40e_pf *pf,\n \tif (ret)\n \t\tgoto exit;\n \n-\t/* Wait for the PF's Tx queues to be disabled */\n-\tret = i40e_pf_wait_txq_disabled(pf);\n+\t/* Wait for the PF's queues to be disabled */\n+\tret = i40e_pf_wait_queues_disabled(pf);\n \tif (ret) {\n \t\t/* Schedule PF reset to recover */\n \t\tset_bit(__I40E_PF_RESET_REQUESTED, &pf->state);\n", "prefixes": [ "next", "S29", "05/14" ] }