Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/119082/?format=api
http://patchwork.dpdk.org/api/patches/119082/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20221025075149.1713006-1-abhishek.maheshwari@intel.com/", "project": { "id": 1, "url": "http://patchwork.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": "<20221025075149.1713006-1-abhishek.maheshwari@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20221025075149.1713006-1-abhishek.maheshwari@intel.com", "date": "2022-10-25T07:51:49", "name": "vdpa/ifc/base: wait for queue disable before saving q-state", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "7f0eec37ad70dc5ba2804c7539a41b70aff10b11", "submitter": { "id": 2865, "url": "http://patchwork.dpdk.org/api/people/2865/?format=api", "name": "Abhishek Maheshwari", "email": "abhishek.maheshwari@intel.com" }, "delegate": { "id": 2642, "url": "http://patchwork.dpdk.org/api/users/2642/?format=api", "username": "mcoquelin", "first_name": "Maxime", "last_name": "Coquelin", "email": "maxime.coquelin@redhat.com" }, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20221025075149.1713006-1-abhishek.maheshwari@intel.com/mbox/", "series": [ { "id": 25412, "url": "http://patchwork.dpdk.org/api/series/25412/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=25412", "date": "2022-10-25T07:51:49", "name": "vdpa/ifc/base: wait for queue disable before saving q-state", "version": 1, "mbox": "http://patchwork.dpdk.org/series/25412/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/119082/comments/", "check": "success", "checks": "http://patchwork.dpdk.org/api/patches/119082/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 mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id B35DFA0543;\n\tTue, 25 Oct 2022 10:20:38 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A867640A89;\n\tTue, 25 Oct 2022 10:20:38 +0200 (CEST)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n by mails.dpdk.org (Postfix) with ESMTP id 6021E400D5\n for <dev@dpdk.org>; Tue, 25 Oct 2022 10:20:36 +0200 (CEST)", "from orsmga001.jf.intel.com ([10.7.209.18])\n by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 25 Oct 2022 01:20:18 -0700", "from unknown (HELO localhost.localdomain) ([10.190.193.12])\n by orsmga001.jf.intel.com with ESMTP; 25 Oct 2022 01:20:16 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1666686037; x=1698222037;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=ODY3ifBmrdYweR4u9RrbYGKMdGch9w4J1PP0SOCBlLk=;\n b=TJuja7WfORsj3yZwRoFO86whiqs4FVSg02TBzxvqk0aM2Zw8DdYN8WkG\n RS04R35wdjBEnANi/5v/mNtZcLwVHeHKmKNabDgOJ20ULKaTglNVy5gDy\n EzIQm15EOIq5AnYdbjHQzUpNiPkmaxsJur8JMyQIkN99Kkc4b8fCusar8\n hsoFwwrdVmrp76HDgDSPBcZaztCYdHya941vcnw9Yrme4Kmu3Jb2Vk+Cw\n Foa124G+yeY+FFs3h8U9sDaeWObwR+4tbstnpTJi/sUlp7AwxMEc8Z6U+\n ZsUL5Rir03GGqPWFuKKMGUhMoDkmbH/JoAdgtACI0Q6Z0lTZYZTvjzmkx Q==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10510\"; a=\"371834851\"", "E=Sophos;i=\"5.95,211,1661842800\"; d=\"scan'208\";a=\"371834851\"", "E=McAfee;i=\"6500,9779,10510\"; a=\"664831441\"", "E=Sophos;i=\"5.95,211,1661842800\"; d=\"scan'208\";a=\"664831441\"" ], "X-ExtLoop1": "1", "From": "Abhishek Maheshwari <abhishek.maheshwari@intel.com>", "To": "xiao.w.wang@intel.com,\n\tchenbo.xia@intel.com", "Cc": "abhishek.maheshwari@intel.com, dev@dpdk.org,\n purna.chandra.mandal@intel.com", "Subject": "[PATCH] vdpa/ifc/base: wait for queue disable before saving q-state", "Date": "Tue, 25 Oct 2022 13:21:49 +0530", "Message-Id": "<20221025075149.1713006-1-abhishek.maheshwari@intel.com>", "X-Mailer": "git-send-email 2.31.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "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" }, "content": "Some ifc hardware require synchronization between disabling a queue and\nsaving queue-state from LM registers. When queue is disabled from vDPA\ndriver, ifc device stops executing new virtio-cmds and then updates LM\nregisters with used/avail index. Before saving the queue-state, vDPA\ndriver should wait until the queue is disabled from backend.\n\nSigned-off-by: Abhishek Maheshwari <abhishek.maheshwari@intel.com>\n---\n drivers/vdpa/ifc/base/ifcvf.c | 15 +++++++++++++++\n 1 file changed, 15 insertions(+)", "diff": "diff --git a/drivers/vdpa/ifc/base/ifcvf.c b/drivers/vdpa/ifc/base/ifcvf.c\nindex f1e1474447..76690c1f55 100644\n--- a/drivers/vdpa/ifc/base/ifcvf.c\n+++ b/drivers/vdpa/ifc/base/ifcvf.c\n@@ -257,6 +257,7 @@ ifcvf_hw_disable(struct ifcvf_hw *hw)\n \tu32 i;\n \tstruct ifcvf_pci_common_cfg *cfg;\n \tu32 ring_state;\n+\tint q_disable_tries;\n \n \tcfg = hw->common_cfg;\n \tif (!cfg) {\n@@ -275,6 +276,20 @@ ifcvf_hw_disable(struct ifcvf_hw *hw)\n \t\t\tcontinue;\n \t\t}\n \n+\t\t/* Some ifc hardware require synchronization between disabling a queue\n+\t\t * and saving queue-state from LM registers. When queue is disabled from\n+\t\t * vDPA driver, ifc device stops executing new virtio-cmds and then\n+\t\t * updates LM registers with used/avail index. Before saving the\n+\t\t * queue-state, vDPA driver waits until the queue is disabled from\n+\t\t * backend.\n+\t\t */\n+\t\tq_disable_tries = 10;\n+\t\twhile (q_disable_tries-- && IFCVF_READ_REG16(&cfg->queue_enable))\n+\t\t\tmsec_delay(10);\n+\n+\t\tif (IFCVF_READ_REG16(&cfg->queue_enable))\n+\t\t\tWARNINGOUT(\"Failed Q disable: %d. saved state is invalid\\n\", i);\n+\n \t\tif (hw->device_type == IFCVF_BLK)\n \t\t\tring_state = *(u32 *)(hw->lm_cfg +\n \t\t\t\t\tIFCVF_LM_RING_STATE_OFFSET +\n", "prefixes": [] }{ "id": 119082, "url": "