get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/89533/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 89533,
    "url": "https://patches.dpdk.org/api/patches/89533/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20210319064641.4652-1-weix.ling@intel.com/",
    "project": {
        "id": 3,
        "url": "https://patches.dpdk.org/api/projects/3/?format=api",
        "name": "DTS",
        "link_name": "dts",
        "list_id": "dts.dpdk.org",
        "list_email": "dts@dpdk.org",
        "web_url": "",
        "scm_url": "git://dpdk.org/tools/dts",
        "webscm_url": "http://git.dpdk.org/tools/dts/",
        "list_archive_url": "https://inbox.dpdk.org/dts",
        "list_archive_url_format": "https://inbox.dpdk.org/dts/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210319064641.4652-1-weix.ling@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20210319064641.4652-1-weix.ling@intel.com",
    "date": "2021-03-19T06:46:41",
    "name": "[V1,5/9] tests/vhost_virtio_pmd_interrupt:modify hard code bind cbdma device to igb_uio by drivername in execution.cfg",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "a7b3ef6cd3e59844990e845360ff00ca6f95af65",
    "submitter": {
        "id": 1828,
        "url": "https://patches.dpdk.org/api/people/1828/?format=api",
        "name": "Ling, WeiX",
        "email": "weix.ling@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dts/patch/20210319064641.4652-1-weix.ling@intel.com/mbox/",
    "series": [
        {
            "id": 15786,
            "url": "https://patches.dpdk.org/api/series/15786/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=15786",
            "date": "2021-03-19T06:45:58",
            "name": "modify hard code bind cbdma device to igb_uio by drivername in execution.cfg",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/15786/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/89533/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/89533/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dts-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 0E67EA0562;\n\tFri, 19 Mar 2021 07:47:47 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 08F9640143;\n\tFri, 19 Mar 2021 07:47:47 +0100 (CET)",
            "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id 0B9344003F\n for <dts@dpdk.org>; Fri, 19 Mar 2021 07:47:44 +0100 (CET)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 18 Mar 2021 23:47:44 -0700",
            "from unknown (HELO localhost.localdomain) ([10.240.183.222])\n by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 18 Mar 2021 23:47:42 -0700"
        ],
        "IronPort-SDR": [
            "\n IC0r/YPHkphEnysakM5nGX1JlNp5jIwSPJaDqGIm12Uhe7p//xTPgl6Yb8lMhALFnjQanOjpyK\n KSOhGxAXY9xQ==",
            "\n 8BGRdrwHpMG/rzSdw2gBWhfTzLG8RMjoIFmLSznSrJ51gGO2BWIqTMPCfksg14pL+dbq1d3Pqa\n b/Nksr3yBcVg=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9927\"; a=\"169766485\"",
            "E=Sophos;i=\"5.81,261,1610438400\"; d=\"scan'208\";a=\"169766485\"",
            "E=Sophos;i=\"5.81,261,1610438400\"; d=\"scan'208\";a=\"606504736\""
        ],
        "From": "Ling Wei <weix.ling@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Ling Wei <weix.ling@intel.com>",
        "Date": "Fri, 19 Mar 2021 14:46:41 +0800",
        "Message-Id": "<20210319064641.4652-1-weix.ling@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dts] [PATCH V1 5/9] tests/vhost_virtio_pmd_interrupt:modify hard\n code bind cbdma device to igb_uio by drivername in execution.cfg",
        "X-BeenThere": "dts@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "test suite reviews and discussions <dts.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dts/>",
        "List-Post": "<mailto:dts@dpdk.org>",
        "List-Help": "<mailto:dts-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dts-bounces@dpdk.org",
        "Sender": "\"dts\" <dts-bounces@dpdk.org>"
    },
    "content": "1.Modify hard code bind cbdma device to igb_uio by drivername\n in execution.cfg.\n2.Adjust code format.\n\nSigned-off-by: Ling Wei <weix.ling@intel.com>\n---\n tests/TestSuite_vhost_virtio_pmd_interrupt.py | 38 +++++++------------\n 1 file changed, 13 insertions(+), 25 deletions(-)",
    "diff": "diff --git a/tests/TestSuite_vhost_virtio_pmd_interrupt.py b/tests/TestSuite_vhost_virtio_pmd_interrupt.py\nindex af5e5eb6..57bcf6c7 100644\n--- a/tests/TestSuite_vhost_virtio_pmd_interrupt.py\n+++ b/tests/TestSuite_vhost_virtio_pmd_interrupt.py\n@@ -56,14 +56,11 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         self.dut_ports = self.dut.get_ports()\n         self.verify(len(self.dut_ports) >= 1, \"Insufficient ports for testing\")\n         self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])\n-        self.cores_num = len([n for n in self.dut.cores if int(n['socket']) ==\n-                        self.ports_socket])\n+        self.cores_num = len([n for n in self.dut.cores if int(n['socket']) == self.ports_socket])\n         self.pci_info = self.dut.ports_info[0]['pci']\n         self.tx_port = self.tester.get_local_port(self.dut_ports[0])\n         self.dst_mac = self.dut.get_mac_address(self.dut_ports[0])\n-        self.logger.info(\"Please comfirm the kernel of vm greater than 4.8.0 \"\n-                        \"and enable vfio-noiommu in kernel\")\n-\n+        self.logger.info(\"Please comfirm the kernel of vm greater than 4.8.0 and enable vfio-noiommu in kernel\")\n         self.out_path = '/tmp'\n         out = self.tester.send_expect('ls -d %s' % self.out_path, '# ')\n         if 'No such file or directory' in out:\n@@ -94,24 +91,19 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         get core list about testpmd\n         \"\"\"\n         core_config = \"1S/%dC/1T\" % (self.nb_cores + 1)\n-        self.verify(self.cores_num >= (self.nb_cores + 1),\n-                    \"There has not enough cores to running case: %s\" %\n-                    self.running_case)\n-        self.core_list = self.dut.get_core_list('all',\n-                                    socket=self.ports_socket)\n+        self.verify(self.cores_num >= (self.nb_cores + 1), \"There has not enough cores to running case: %s\" %self.running_case)\n+        self.core_list = self.dut.get_core_list('all', socket=self.ports_socket)\n \n     def prepare_vm_env(self):\n         \"\"\"\n         rebuild l3fwd-power in vm and set the virtio-net driver\n         \"\"\"\n         self.vm_dut.send_expect(\"cp ./examples/l3fwd-power/main.c /tmp/\", \"#\")\n-        self.vm_dut.send_expect(\n-                \"sed -i '/DEV_RX_OFFLOAD_CHECKSUM/d' ./examples/l3fwd-power/main.c\", \"#\", 10)\n+        self.vm_dut.send_expect(\"sed -i '/DEV_RX_OFFLOAD_CHECKSUM/d' ./examples/l3fwd-power/main.c\", \"#\", 10)\n         self.vm_dut.send_expect(\n                 \"sed -i 's/.mq_mode        = ETH_MQ_RX_RSS,/.mq_mode        = ETH_MQ_RX_NONE,/g' ./examples/l3fwd-power/main.c\", \"#\", 10)\n         out = self.vm_dut.build_dpdk_apps('examples/l3fwd-power')\n         self.verify(\"Error\" not in out, \"compilation l3fwd-power error\")\n-\n         self.vm_dut.send_expect(\"modprobe vfio enable_unsafe_noiommu_mode=1\", \"#\")\n         self.vm_dut.send_expect(\"modprobe vfio-pci\", \"#\")\n         self.vm_dut.ports_info[0]['port'].bind_driver('vfio-pci')\n@@ -140,8 +132,7 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         \"\"\"\n         launch l3fwd-power with a virtual vhost device\n         \"\"\"\n-        self.verify(len(self.vm_dut.cores) >= self.nb_cores,\n-                \"The vm done not has enought cores to use, please config it\")\n+        self.verify(len(self.vm_dut.cores) >= self.nb_cores, \"The vm done not has enought cores to use, please config it\")\n         core_config = \"1S/%dC/1T\" % self.nb_cores\n         core_list_l3fwd = self.vm_dut.get_core_list(core_config)\n         core_mask_l3fwd = utils.create_mask(core_list_l3fwd)\n@@ -215,8 +206,7 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         for i in range(len(self.verify_info)):\n             if status == \"waked up\":\n                 info = \"lcore %s is waked up from rx interrupt on port %d queue %d\"\n-                info = info % (self.verify_info[i][\"core\"], self.verify_info[i]['port'],\n-                                self.verify_info[i]['queue'])\n+                info = info % (self.verify_info[i][\"core\"], self.verify_info[i]['port'], self.verify_info[i]['queue'])\n             elif status == \"sleeps\":\n                 info = \"lcore %s sleeps until interrupt triggers\" % self.verify_info[i][\"core\"]\n             if info in out_result:\n@@ -227,8 +217,7 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         if fix_ip is True:\n             self.verify(change == 1, \"There has other cores change the status\")\n         else:\n-            self.verify(change == self.queues,\n-                        \"There has cores not change the status\")\n+            self.verify(change == self.queues, \"There has cores not change the status\")\n \n     def set_fields(self):\n         \"\"\"\n@@ -280,7 +269,9 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         \"\"\"\n         get all cbdma ports\n         \"\"\"\n-        self.dut.setup_modules(self.target, \"igb_uio\",\"None\")\n+        # check driver name in execution.cfg\n+        self.verify(self.drivername == 'igb_uio',\n+                    \"CBDMA test case only use igb_uio driver, need config drivername=igb_uio in execution.cfg\")\n         out = self.dut.send_expect('./usertools/dpdk-devbind.py --status-dev misc', '# ', 30)\n         cbdma_dev_infos = re.findall('\\s*(0000:\\d+:\\d+.\\d+)', out)\n         self.verify(len(cbdma_dev_infos) >= cbdma_num, 'There no enough cbdma device to run this suite')\n@@ -292,10 +283,8 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n             dmas = 'txq{}@{};'.format(number, dmas)\n             dmas_info += dmas\n         self.dmas_info = dmas_info[:-1]\n-\n         self.device_str = ' '.join(used_cbdma)\n-        self.dut.send_expect('./usertools/dpdk-devbind.py --force --bind=%s %s %s' %\n-                             (\"igb_uio\", self.device_str, self.pci_info), '# ', 60)\n+        self.dut.send_expect('./usertools/dpdk-devbind.py --force --bind=%s %s' % (self.drivername, self.device_str), '# ', 60)\n \n     def bind_cbdma_device_to_kernel(self):\n         if self.device_str is not None:\n@@ -318,7 +307,6 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         self.vhost_user.send_expect(\"quit\", \"#\", 10)\n         self.dut.close_session(self.vhost_user)\n \n-\n     def test_perf_virtio_pmd_interrupt_with_4queues(self):\n         \"\"\"\n         wake up virtio_user 0.95 core with l3fwd-power sample\n@@ -400,9 +388,9 @@ class TestVhostVirtioPmdInterrupt(TestCase):\n         Run after each test case.\n         \"\"\"\n         self.stop_all_apps()\n-        self.bind_cbdma_device_to_kernel()\n         self.dut.kill_all()\n         self.dut.send_expect(\"killall -s INT qemu-system-x86_64\", \"#\")\n+        self.bind_cbdma_device_to_kernel()\n \n     def tear_down_all(self):\n         \"\"\"\n",
    "prefixes": [
        "V1",
        "5/9"
    ]
}