[dts] [PATCH V1] test_plans: add test plan for vhost/virtio loopback performance test

Liu, Yong yong.liu at intel.com
Wed Dec 21 03:26:10 CET 2016


Lei, few comments.

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of lei,yao
> Sent: Wednesday, December 21, 2016 9:25 AM
> To: dts at dpdk.org
> Cc: Yao, Lei A
> Subject: [dts] [PATCH V1] test_plans: add test plan for vhost/virtio
> loopback performance test
> 
> From: lei yao <lei.a.yao at intel.com>
> 
> Signed-off-by: lei yao <lei.a.yao at intel.com>
> ---
>  ..._loopback_performance_virtio_user_test_plan.rst | 129
> +++++++++++++++++++++
>  1 file changed, 129 insertions(+)
>  create mode 100644
> test_plans/vhost_loopback_performance_virtio_user_test_plan.rst
> 
> diff --git
> a/test_plans/vhost_loopback_performance_virtio_user_test_plan.rst
> b/test_plans/vhost_loopback_performance_virtio_user_test_plan.rst
> new file mode 100644
> index 0000000..e94dd17
> --- /dev/null
> +++ b/test_plans/vhost_loopback_performance_virtio_user_test_plan.rst
> @@ -0,0 +1,129 @@
> +.. Copyright (c) <2016>, Intel Corporation
> +   All rights reserved.
> +
> +   Redistribution and use in source and binary forms, with or without
> +   modification, are permitted provided that the following conditions
> +   are met:
> +
> +   - Redistributions of source code must retain the above copyright
> +     notice, this list of conditions and the following disclaimer.
> +
> +   - Redistributions in binary form must reproduce the above copyright
> +     notice, this list of conditions and the following disclaimer in
> +     the documentation and/or other materials provided with the
> +     distribution.
> +
> +   - Neither the name of Intel Corporation nor the names of its
> +     contributors may be used to endorse or promote products derived
> +     from this software without specific prior written permission.
> +
> +   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> +   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> +   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> +   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> +   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> +   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> +   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
> +   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> +   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> +   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
> +   OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +===============================================
> +DPDK Vhost loopback performance for virtio_user
> +===============================================
> +
> +This test plan will cover the loopback performance test cases based
> virtio_user
> +
> +Test Case 1: DPDK loopback performance on mergeable path
> +========================================================
> +
> +Flow:
> +Vhost --> Virtio--> Vhost
> +
> +1. First build the dpdk, don't bind any port to igb_uio
> +
> +2. Start up vhost user side using testpmd::
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3000 -n 4 --socket-mem
> 1024,1024  \
> +	--file-prefix=vhost --vdev 'net_vhost0,iface=vhost-
> net,queues=1,client=0' -- -i

You can remove target for we may change it.

> +
> +3. Start up virtio_user side using testpmd:
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xc000 -n 4 \
> +	--socket-mem 1024,1024 --no-pci --file-prefix=virtio \
> +	--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net -- \
> +	-i --disable-hw-vlan-filter
> +
> +4. At Vhost side, set it to mac fwd mode
> +    testpmd>set fwd mac retry
> +	testpmd>start tx_first 32
> +
> +5. At Virtio side, set it to mac fwd mode
> +    testpmd>set fwd mac retry
> +	testpmd>start tx_first 32
> +
> +6. At the Virtio side, check the throughput
> +    testpmd>show port stats all
> +
> +Test Case 2: DPDK loopback performance on normal path
> +=====================================================
> +Flow:
> +Vhost --> Virtio--> Vhost
> +
> +1. First disbale the mergebale by modify the file
> /drivers/net/virtio/virtio_ethdev.h
> +        1u << VIRTIO_NET_F_CTRL_VLAN     |     \
> +    -   1u << VIRTIO_NET_F_MRG_RXBUF     |     \
> +        1ULL << VIRTIO_F_VERSION_1
> +
> +2. Build the dpdk, don't bind any port to igb_uioStart up vhost user side
> using testpmd::
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3000 -n 4 --socket-mem
> 1024,1024  \
> +	--file-prefix=vhost --vdev 'net_vhost0,iface=vhost-
> net,queues=1,client=0' -- -i
> +
> +3. Start up virtio_user side using testpmd, using txflaf=0xf00:
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xc000 -n 4 \
> +	--socket-mem 1024,1024 --no-pci --file-prefix=virtio \
> +	--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net -- \
> +	-i --txqflags=0xf00 --disable-hw-vlan-filter

One question for socket-mem parameter, you can check the question in suite comments.

> +
> +4. At Vhost side, set it to mac fwd mode
> +    testpmd>set fwd mac retry
> +	testpmd>start tx_first 32
> +
> +5. At Virtio side, set it to mac fwd mode
> +    testpmd>set fwd mac retry
> +	testpmd>start tx_first 32
> +
> +6. At the Virtio side, check the throughput
> +    testpmd>show port stats all
> +
> +Test Case 3: DPDK loopback performance on vecotr path
> +=====================================================
> +Flow:
> +Vhost --> Virtio--> Vhost
> +
> +1. First disbale the mergebale by modify the file
> /drivers/net/virtio/virtio_ethdev.h
> +        1u << VIRTIO_NET_F_CTRL_VLAN     |     \
> +    -   1u << VIRTIO_NET_F_MRG_RXBUF     |     \
> +        1ULL << VIRTIO_F_VERSION_1
> +
> +2. Build the dpdk, don't bind any port to igb_uioStart up vhost user side
> using testpmd::

Forgot comma between two sentences:) 

> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3000 -n 4 --socket-mem
> 1024,1024  \
> +	--file-prefix=vhost --vdev 'net_vhost0,iface=vhost-
> net,queues=1,client=0' -- -i
> +
> +3. Start up virtio_user side using testpmd, using txflaf=0xf01:
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xc000 -n 4 \
> +	--socket-mem 1024,1024 --no-pci --file-prefix=virtio \
> +	--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net -- \
> +	-i --txqflags=0xf01 --disable-hw-vlan-filter
> +
> +4. At Vhost side, set it to mac fwd mode
> +    testpmd>set fwd mac retry
> +	testpmd>start tx_first 32
> +
> +5. At Virtio side, set it to mac fwd mode
> +    testpmd>set fwd mac retry
> +	testpmd>start tx_first 32
> +
> +6. At the Virtio side, check the throughput
> +    testpmd>show port stats all
> +
> --
> 2.7.4



More information about the dts mailing list