From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 7FE22A05D3 for ; Tue, 23 Apr 2019 22:32:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4A5171B3B9; Tue, 23 Apr 2019 22:32:14 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 68E481B1FD for ; Tue, 23 Apr 2019 22:32:11 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2019 13:32:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,387,1549958400"; d="scan'208";a="340119468" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga005.fm.intel.com with ESMTP; 23 Apr 2019 13:32:11 -0700 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 23 Apr 2019 13:32:11 -0700 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 23 Apr 2019 13:32:10 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.164]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.25]) with mapi id 14.03.0415.000; Wed, 24 Apr 2019 04:32:08 +0800 From: "Tu, Lijuan" To: "Wang, Yinan" , "dts@dpdk.org" CC: "Wang, Yinan" Thread-Topic: [dts] [PATCH v1] test_plans/virtio_event_idx_interrupt: add test plan for virtio event idx interrupt test Thread-Index: AQHU+XUKEt2sY6GVVEq7H+4YlrZdk6ZKNE1Q Date: Tue, 23 Apr 2019 20:32:07 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BA6594E@SHSMSX101.ccr.corp.intel.com> References: <20190422183413.32454-1-yinan.wang@intel.com> In-Reply-To: <20190422183413.32454-1-yinan.wang@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjAyMTI3YTYtNmRkZC00NWM4LTg2ZmQtNGJiMDQ1YmM2MWM1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWG82VVN4WTFVMHBhSStXOEhKclk1dUpBeVlHY1NNOFZxeGZQMG9kc2Vpd0FSSmtDM1BlcFNsSmZHRHRNXC91WTQifQ== x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH v1] test_plans/virtio_event_idx_interrupt: add test plan for virtio event idx interrupt test X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Applied, thanks > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Yinan > Sent: Monday, April 22, 2019 11:34 AM > To: dts@dpdk.org > Cc: Wang, Yinan > Subject: [dts] [PATCH v1] test_plans/virtio_event_idx_interrupt: add test > plan for virtio event idx interrupt test >=20 > From: Wang Yinan >=20 > Signed-off-by: Wang Yinan > --- > .../virtio_event_idx_interrupt_test_plan.rst | 152 ++++++++++++++++++ > 1 file changed, 152 insertions(+) > create mode 100644 test_plans/virtio_event_idx_interrupt_test_plan.rst >=20 > diff --git a/test_plans/virtio_event_idx_interrupt_test_plan.rst > b/test_plans/virtio_event_idx_interrupt_test_plan.rst > new file mode 100644 > index 0000000..e51d808 > --- /dev/null > +++ b/test_plans/virtio_event_idx_interrupt_test_plan.rst > @@ -0,0 +1,152 @@ > +.. Copyright (c) <2019>, 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. > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +virtio event idx interrupt mode test plan > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +Description > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +This feature is to suppress interrupts for performance improvement, > +need compare interrupt times with and without virtio event idx enabled. > Also need cover driver reload and live migration test. > + > +Test flow > +=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +TG --> NIC --> Vhost-user --> Virtio-net > + > +Test Case 1: compare interrupt times with and without virtio event idx > +enabled > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D > +=3D=3D=3D=3D=3D=3D=3D > + > +1. Bind one nic port to igb_uio, then launch the vhost sample by below > commands:: > + > + rm -rf vhost-net* > + ./testpmd -c 0xF0000000 -n 4 --socket-mem 2048,2048 --legacy-mem --f= ile- > prefix=3Dvhost --vdev 'net_vhost,iface=3Dvhost-net,queues=3D1' -- -i > + --nb-cores=3D1 --txd=3D1024 --rxd=3D1024 > + testpmd>start > + > +2. Launch VM:: > + > + taskset -c 32-33 \ > + qemu-system-x86_64 -name us-vhost-vm1 \ > + -cpu host -enable-kvm -m 2048 -object memory-backend- > file,id=3Dmem,size=3D2048M,mem-path=3D/mnt/huge,share=3Don -numa > node,memdev=3Dmem -mem-prealloc \ > + -smp cores=3D2,sockets=3D1 -drive file=3D/home/osimg/ubuntu16.img = \ > + -monitor unix:/tmp/vm2_monitor.sock,server,nowait -net > nic,vlan=3D2,macaddr=3D00:00:00:08:e8:aa,addr=3D1f -net > user,vlan=3D2,hostfwd=3Dtcp:127.0.0.1:6004-:22 \ > + -chardev socket,id=3Dchar0,path=3D./vhost-net -netdev type=3Dvhost- > user,id=3Dmynet1,chardev=3Dchar0,vhostforce \ > + -device virtio-net- > pci,mac=3D52:54:00:00:00:01,netdev=3Dmynet1,mrg_rxbuf=3Don,csum=3Don,gso= =3Don,g > uest_csum=3Don,host_tso4=3Don,guest_tso4=3Don,guest_ecn=3Don \ > + -vnc :12 -daemonize > + > +3. On VM1, set virtio device IP:: > + > + ifconfig [ens3] 1.1.1.2 # [ens3] is the name of virtio-net > + > +4. Send 10M packets from packet generator to nic, check virtio-net inter= rupt > times by below cmd in VM:: > + > + cat /proc/interrupts > + > +5. Disable virtio event idx feature and rerun step1 ~ step4. > + > +6. Compare interrupt times between virtio event_idx enabled and virtio > event_idx disabled. > + > +Test Case 2: virtio-pci driver reload test > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. Bind one nic port to igb_uio, then launch the vhost sample by below > commands:: > + > + rm -rf vhost-net* > + ./testpmd -c 0xF0000000 -n 4 --socket-mem 2048,2048 --legacy-mem --f= ile- > prefix=3Dvhost --vdev 'net_vhost,iface=3Dvhost-net,queues=3D1' -- -i --nb= -cores=3D1 -- > txd=3D1024 --rxd=3D1024 > + testpmd>start > + > +2. Launch VM:: > + > + taskset -c 32-33 \ > + qemu-system-x86_64 -name us-vhost-vm1 \ > + -cpu host -enable-kvm -m 2048 -object memory-backend- > file,id=3Dmem,size=3D2048M,mem-path=3D/mnt/huge,share=3Don -numa > node,memdev=3Dmem -mem-prealloc \ > + -smp cores=3D2,sockets=3D1 -drive file=3D/home/osimg/ubuntu16.img = \ > + -monitor unix:/tmp/vm2_monitor.sock,server,nowait -net > nic,vlan=3D2,macaddr=3D00:00:00:08:e8:aa,addr=3D1f -net > user,vlan=3D2,hostfwd=3Dtcp:127.0.0.1:6004-:22 \ > + -chardev socket,id=3Dchar0,path=3D./vhost-net -netdev type=3Dvhost- > user,id=3Dmynet1,chardev=3Dchar0,vhostforce \ > + -device virtio-net- > pci,mac=3D52:54:00:00:00:01,netdev=3Dmynet1,mrg_rxbuf=3Don,csum=3Don,gso= =3Don,g > uest_csum=3Don,host_tso4=3Don,guest_tso4=3Don,guest_ecn=3Don \ > + -vnc :12 -daemonize > + > +3. On VM1, set virtio device IP, send 10M packets from packet generator = to > nic then check virtio device can receive packets:: > + > + ifconfig [ens3] 1.1.1.2 # [ens3] is the name of virtio-net > + tcpdump -i [ens3] > + > +4. Reload virtio-net driver by below cmds:: > + > + ifconfig [ens3] down > + ./dpdk-devbind.py -u [00:03.0] # [00:03.0] is the pci addr of virt= io-net > + ./dpdk-devbind.py -b virtio-pci [00:03.0] > + > +5. Check virtio device can receive packets again:: > + > + ifconfig [ens3] 1.1.1.2 > + tcpdump -i [ens3] > + > +6. Rerun step4 and step5 100 times to check event idx workable after dri= ver > reload. > + > +Test Case 3: wake up virtio-net cores with event idx interrupt mode 16 > +queues test > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. Bind one nic port to igb_uio, then launch the vhost sample by below > commands:: > + > + rm -rf vhost-net* > + ./testpmd -l 1-17 -n 4 --socket-mem 2048,2048 --legacy-mem --file- > prefix=3Dvhost --vdev 'net_vhost,iface=3Dvhost-net,queues=3D16' -- -i --n= b-cores=3D16 > --txd=3D1024 --rxd=3D1024 --rxq=3D16 --txq=3D16 > + testpmd>start > + > +2. Launch VM:: > + > + taskset -c 32-33 \ > + qemu-system-x86_64 -name us-vhost-vm1 \ > + -cpu host -enable-kvm -m 2048 -object memory-backend- > file,id=3Dmem,size=3D2048M,mem-path=3D/mnt/huge,share=3Don -numa > node,memdev=3Dmem -mem-prealloc \ > + -smp cores=3D16,sockets=3D1 -drive file=3D/home/osimg/ubuntu16.img = \ > + -monitor unix:/tmp/vm2_monitor.sock,server,nowait -net > nic,vlan=3D2,macaddr=3D00:00:00:08:e8:aa,addr=3D1f -net > user,vlan=3D2,hostfwd=3Dtcp:127.0.0.1:6004-:22 \ > + -chardev socket,id=3Dchar0,path=3D./vhost-net -netdev type=3Dvhost- > user,id=3Dmynet1,chardev=3Dchar0,vhostforce,queues=3D16 \ > + -device virtio-net- > pci,mac=3D52:54:00:00:00:01,netdev=3Dmynet1,mrg_rxbuf=3Don,mq=3Don,vector= s=3D40, > csum=3Don,gso=3Don,guest_csum=3Don,host_tso4=3Don,guest_tso4=3Don,guest_e= cn=3Don > \ > + -vnc :12 -daemonize > + > +3. On VM1, give virtio device ip addr and enable vitio-net with 16 quque= s:: > + > + ifconfig [ens3] 1.1.1.2 # [ens3] is the name of virtio-net > + ethtool -L [ens3] combined 16 > + > +4. Send 10M different ip addr packets from packet generator to nic, chec= k > virtio-net interrupt times by below cmd in VM:: > + > + cat /proc/interrupts > + > +5. After two hours stress test, stop and restart testpmd, check each que= ue > has new packets coming:: > + > + testpmd>stop > + testpmd>start > + testpmd>stop > -- > 2.17.1