get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 95177,
    "url": "https://patches.dpdk.org/api/patches/95177/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20210702160445.838453-1-yinan.wang@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": "<20210702160445.838453-1-yinan.wang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20210702160445.838453-1-yinan.wang@intel.com",
    "date": "2021-07-02T16:04:45",
    "name": "[v3] test_plans/vhost_cbdma_test_plan",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "40e3bb3f2127bc40601723c0316addc22be13b99",
    "submitter": {
        "id": 1081,
        "url": "https://patches.dpdk.org/api/people/1081/?format=api",
        "name": "Wang, Yinan",
        "email": "yinan.wang@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dts/patch/20210702160445.838453-1-yinan.wang@intel.com/mbox/",
    "series": [
        {
            "id": 17587,
            "url": "https://patches.dpdk.org/api/series/17587/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=17587",
            "date": "2021-07-02T16:04:45",
            "name": "[v3] test_plans/vhost_cbdma_test_plan",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/17587/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/95177/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/95177/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 627CFA0A0C;\n\tFri,  2 Jul 2021 09:21:10 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 2D58A40141;\n\tFri,  2 Jul 2021 09:21:10 +0200 (CEST)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 317754003E\n for <dts@dpdk.org>; Fri,  2 Jul 2021 09:21:08 +0200 (CEST)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 02 Jul 2021 00:21:06 -0700",
            "from dpdk-yinan-ntb1.sh.intel.com ([10.67.119.39])\n by orsmga003.jf.intel.com with ESMTP; 02 Jul 2021 00:21:05 -0700"
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10032\"; a=\"269815282\"",
            "E=Sophos;i=\"5.83,316,1616482800\"; d=\"scan'208\";a=\"269815282\"",
            "E=Sophos;i=\"5.83,316,1616482800\"; d=\"scan'208\";a=\"409425265\""
        ],
        "X-ExtLoop1": "1",
        "From": "Yinan Wang <yinan.wang@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Yinan Wang <yinan.wang@intel.com>",
        "Date": "Fri,  2 Jul 2021 12:04:45 -0400",
        "Message-Id": "<20210702160445.838453-1-yinan.wang@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dts] [PATCH v3] test_plans/vhost_cbdma_test_plan",
        "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. change cases using imix pkts for better coverage\n2. add one cbdma performance case\n\nSigned-off-by: Yinan Wang <yinan.wang@intel.com>\n---\n test_plans/vhost_cbdma_test_plan.rst | 212 +++++++++++++--------------\n 1 file changed, 102 insertions(+), 110 deletions(-)",
    "diff": "diff --git a/test_plans/vhost_cbdma_test_plan.rst b/test_plans/vhost_cbdma_test_plan.rst\nindex c827adaa..325b5d87 100644\n--- a/test_plans/vhost_cbdma_test_plan.rst\n+++ b/test_plans/vhost_cbdma_test_plan.rst\n@@ -126,103 +126,54 @@ TG --> NIC --> Vhost --> Virtio--> Vhost --> NIC --> TG\n     >set fwd mac\n     >start\n \n-Test Case2: Split ring dynamic queue number test for DMA-accelerated vhost Tx operations\n-========================================================================================\n+Test Case 2: Split ring dynamic queue number test for DMA-accelerated vhost Tx operations\n+=========================================================================================\n \n-1. Bind four cbdma channels and one nic port to igb_uio, then launch vhost by below command::\n+1. Bind 8 cbdma channels and one nic port to igb_uio, then launch vhost by below command::\n \n     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 28-29  \\\n-    --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=2,client=1,dmas=[txq0@80:04.5;txq1@80:04.6],dmathr=1024' \\\n-    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n-    >set fwd mac\n-    >start\n+     --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=8,client=1' \\\n+     -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=8 --rxq=8\n+     >set fwd mac\n+     >start\n \n 2. Launch virtio-user by below command::\n \n     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 30-31 --no-pci --file-prefix=virtio \\\n-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=1,in_order=1,queues=2,server=1 \\\n-    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n+    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=1,in_order=1,queues=8,server=1 \\\n+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024 --txq=8 --rxq=8\n     >set fwd mac\n     >start\n \n-3. Send packets with packet size [64,1518] from packet generator with random ip, check perforamnce can get target.\n+3. Send imix packets from packet generator with random ip, check perforamnce can get target.\n \n-4. Stop vhost port, check vhost RX and TX direction both exist packtes in two queues from vhost log.\n+4. Stop vhost port, check vhost RX and TX direction both exist packtes in 8 queues from vhost log.\n \n-5. On virtio-user side, dynamic change rx queue numbers from 2 queue to 1 queues, then check one queue RX/TX can work normally::\n+5. Quit vhost port and relaunch vhost with 4 queues w/ cbdma::\n \n-    testpmd>port stop all\n-    testpmd>port config all rxq 1\n-    testpmd>port config all txq 1\n-    testpmd>port start all\n-    testpmd>start\n-    testpmd>show port stats all\n-\n-6. Relaunch virtio-user with vectorized path and 2 queues::\n-\n-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 30-31 --no-pci --file-prefix=virtio \\\n-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=0,in_order=1,vectorized=1,queues=2,server=1 \\\n-    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 28-29  \\\n+    --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=4,client=1,dmas=[txq0@00:04.0;txq1@00:04.1;txq2@00:04.2;txq3@00:04.3],dmathr=1024' \\\n+    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=4 --rxq=4\n     >set fwd mac\n     >start\n \n-7. Send packets with packet size [64,1518] from packet generator with random ip, check perforamnce can get target.\n+6. Send imix packets from packet generator with random ip, check perforamnce can get target.\n \n-8. Stop vhost port, check vhost RX and TX direction both exist packtes in queue0 from vhost log.\n+7. Stop vhost port, check vhost RX and TX direction both exist packtes in 4 queues from vhost log.\n \n-9. On vhost side, dynamic change rx queue numbers from 2 queue to 1 queues, then check one queue RX/TX can work normally::\n-\n-    testpmd>port stop all\n-    testpmd>port config all rxq 1\n-    testpmd>port config all txq 1\n-    testpmd>port start all\n-    testpmd>start\n-    testpmd>show port stats all\n-\n-10. Relaunch vhost with another two cbdma channels and 2 queueus, check perforamnce can get target::\n+8. Quit vhost port and relaunch vhost with 8 queues w/ cbdma::\n \n      ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 28-29  \\\n-     --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=2,client=1,dmas=[txq0@00:04.5;txq1@00:04.6],dmathr=512' \\\n-     -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n-     >set fwd mac\n-     >start\n-\n-11. Stop vhost port, check vhost RX and TX direction both exist packtes in two queues from vhost log.\n-\n-Test Case3: CBDMA threshold value check\n-========================================\n-\n-1. Bind four cbdma port to igb_uio, then launch vhost by below command::\n-\n-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \\\n-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@80:04.0;txq1@80:04.1],dmathr=512' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@80:04.2;txq1@80:04.3],dmathr=4096' -- \\\n-    -i --nb-cores=1 --rxq=2 --txq=2\n-    >start\n-\n-2. Launch virtio-user1::\n-\n-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \\\n-    --no-pci --file-prefix=virtio1 \\\n-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=4096 \\\n-    -- -i --nb-cores=1 --rxq=2 --txq=2\n+    --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=8,client=1,dmas=[txq0@80:04.0;txq1@80:04.1;txq2@80:04.2;txq3@80:04.3;txq4@80:04.4;txq5@80:04.5;txq6@80:04.6;txq7@80:04.7],dmathr=1024' \\\n+    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=8 --rxq=8\n+    >set fwd mac\n     >start\n \n-3. Launch virtio-user0::\n-\n-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \\\n-    --no-pci --file-prefix=virtio \\\n-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=4096 \\\n-    -- -i --nb-cores=1 --rxq=2 --txq=2\n-    >start\n-  \n-4. Check the cbdma threshold value for each vhost port can be config correct from vhost log::\n+9. Send imix packets from packet generator with random ip, check perforamnce can get target.\n \n-    dma parameters: vid0,qid0,dma*,threshold:512\n-    dma parameters: vid0,qid2,dma*,threshold:512\n-    dma parameters: vid1,qid0,dma*,threshold:4096\n-    dma parameters: vid1,qid2,dma*,threshold:4096\n+10. Stop vhost port, check vhost RX and TX direction both exist packtes in 8 queues from vhost log.\n \n-Test Case 4: PVP packed ring all path with DMA-accelerated vhost enqueue\n+Test Case 3: PVP packed ring all path with DMA-accelerated vhost enqueue\n ========================================================================\n \n Packet pipeline: \n@@ -293,65 +244,106 @@ TG --> NIC --> Vhost --> Virtio--> Vhost --> NIC --> TG\n     >set fwd mac\n     >start\n \n-Test Case5: Packed ring dynamic queue number test for DMA-accelerated vhost Tx operations\n-=========================================================================================\n+Test Case 4: Packed ring dynamic queue number test for DMA-accelerated vhost Tx operations\n+==========================================================================================\n \n-1. Bind four cbdma channels and one nic port to igb_uio, then launch vhost by below command::\n+1. Bind 8 cbdma channels and one nic port to igb_uio, then launch vhost by below command::\n \n     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 28-29  \\\n-    --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=2,client=1,dmas=[txq0@80:04.5;txq1@80:04.6],dmathr=1024' \\\n-    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n-    >set fwd mac\n-    >start\n+     --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=8,client=1' \\\n+     -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=8 --rxq=8\n+     >set fwd mac\n+     >start\n \n 2. Launch virtio-user by below command::\n \n     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 30-31 --no-pci --file-prefix=virtio \\\n-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=1,in_order=1,queues=2,server=1,packed_vq=1 \\\n-    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n+    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=1,in_order=1,queues=8,server=1,packed_vq=1 \\\n+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024 --txq=8 --rxq=8\n     >set fwd mac\n     >start\n \n-3. Send imix packets [64,1518] from packet generator with random ip, check perforamnce can get target.\n+3. Send imix packets from packet generator with random ip, check perforamnce can get target.\n \n-4. Stop vhost port, check vhost RX and TX direction both exist packets in two queues from vhost log.\n+4. Stop vhost port, check vhost RX and TX direction both exist packtes in 8 queues from vhost log.\n \n-5. On virtio-user side, dynamic change rx queue numbers from 2 queue to 1 queues, then check one queue RX/TX can work normally::\n+5. Quit vhost port and relaunch vhost with 4 queues w/ cbdma::\n \n-    testpmd>port stop all\n-    testpmd>port config all rxq 1\n-    testpmd>port config all txq 1\n-    testpmd>port start all\n-    testpmd>start\n-    testpmd>show port stats all\n+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 28-29  \\\n+    --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=4,client=1,dmas=[txq0@80:04.0;txq1@80:04.1;txq2@80:04.2;txq3@80:04.3],dmathr=1024' \\\n+    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=4 --rxq=4\n+    >set fwd mac\n+    >start\n \n-6. Relaunch virtio-user with vectorized path and 2 queues::\n+6. Send imix packets from packet generator with random ip, check perforamnce can get target.\n \n-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 30-31 --no-pci --file-prefix=virtio \\\n-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=0,in_order=1,vectorized=1,queues=2,server=1,packed_vq=1 \\\n-    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n+7. Stop vhost port, check vhost RX and TX direction both exist packtes in 4 queues from vhost log.\n+\n+8. Quit vhost port and relaunch vhost with 8 queues w/ cbdma::\n+\n+     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 28-29  \\\n+    --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=8,client=1,dmas=[txq0@80:04.0;txq1@80:04.1;txq2@80:04.2;txq3@80:04.3;txq4@80:04.4;txq5@80:04.5;txq6@80:04.6;txq7@80:04.7],dmathr=1024' \\\n+    -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=8 --rxq=8\n     >set fwd mac\n     >start\n \n-7. Send imix packets [64,1518] from packet generator with random ip, check perforamnce can get target.\n+9. Send imix packets from packet generator with random ip, check perforamnce can get target.\n \n-8. Stop vhost port, check vhost RX and TX direction both exist packets in queue0 from vhost log.\n+10. Stop vhost port, check vhost RX and TX direction both exist packtes in 8 queues from vhost log.\n \n-9. On vhost side, dynamic change rx queue numbers from 2 queue to 1 queues, then check one queue RX/TX can work normally::\n+Test Case 5: Compare PVP split ring performance between CPU copy, CBDMA copy and Sync copy\n+==========================================================================================\n+\n+1. Bind one cbdma port and one nic port which on same numa to igb_uio, then launch vhost by below command::\n+\n+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=1,client=1,dmas=[txq0@00:01.0],dmathr=1024' \\\n+    -- -i --nb-cores=1 --txd=1024 --rxd=1024\n+    >set fwd mac\n+    >start\n+\n+2. Launch virtio-user with inorder mergeable path::\n+\n+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=1,in_order=1,queues=1,server=1 \\\n+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024\n+    >set fwd mac\n+    >start\n+\n+3. Send packets with 64b and 1518b seperately from packet generator, record the throughput as sync copy throughput for 64b and cbdma copy for 1518b::\n \n-    testpmd>port stop all\n-    testpmd>port config all rxq 1\n-    testpmd>port config all txq 1\n-    testpmd>port start all\n-    testpmd>start\n     testpmd>show port stats all\n \n-10. Relaunch vhost with another two cbdma channels and 2 queueus, check perforamnce can get target::\n+4.Quit vhost side, relaunch with below cmd::\n \n-     ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 28-29  \\\n-     --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=2,client=1,dmas=[txq0@00:04.5;txq1@00:04.6],dmathr=512' \\\n-     -- -i --nb-cores=1 --txd=1024 --rxd=1024 --txq=2 --rxq=2\n-     >set fwd mac\n-     >start\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=1,client=1,dmas=[txq0@00:01.0],dmathr=2000' \\\n+    -- -i --nb-cores=1 --txd=1024 --rxd=1024\n+    >set fwd mac\n+    >start\n+\n+5. Send packets with 1518b from packet generator, record the throughput as sync copy throughput for 1518b::\n+\n+    testpmd>show port stats all\n+\n+6. Quit two testpmd, relaunch vhost by below command::\n+\n+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 --file-prefix=vhost --vdev 'net_vhost0,iface=/tmp/s0,queues=1' \\\n+    -- -i --nb-cores=1 --txd=1024 --rxd=1024\n+    >set fwd mac\n+    >start\n+\n+7. Launch virtio-user with inorder mergeable path::\n+\n+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/s0,mrg_rxbuf=1,in_order=1,queues=1 \\\n+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024\n+    >set fwd mac\n+    >start\n+\n+8. Send packets with 64b from packet generator, record the throughput as cpu copy for 64b::\n+\n+    testpmd>show port stats all\n+\n+9. Check performance can meet below requirement::\n \n-11. Stop vhost port, check vhost RX and TX direction both exist packets in two queues from vhost log.\n+   (1)CPU copy vs. sync copy delta < 10% for 64B packet size\n+   (2)CBDMA copy vs sync copy delta > 5% for 1518 packet size\n",
    "prefixes": [
        "v3"
    ]
}