From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 5CF4037A4 for ; Wed, 4 Nov 2015 06:57:25 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 03 Nov 2015 21:57:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,241,1444719600"; d="scan'208";a="842149291" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga002.jf.intel.com with ESMTP; 03 Nov 2015 21:57:25 -0800 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 3 Nov 2015 21:57:23 -0800 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 3 Nov 2015 21:57:22 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.57]) by shsmsx102.ccr.corp.intel.com ([169.254.2.199]) with mapi id 14.03.0248.002; Wed, 4 Nov 2015 13:57:21 +0800 From: "Qiu, Michael" To: "Ding, HengX" , "dts@dpdk.org" Thread-Topic: [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues. Thread-Index: AQHREr2ySDJsogm6vEejcUtr0kYowA== Date: Wed, 4 Nov 2015 05:57:21 +0000 Message-ID: <533710CFB86FA344BFBF2D6802E6028621B657C2@SHSMSX101.ccr.corp.intel.com> References: <1446173381-1947-1-git-send-email-hengx.ding@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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] TestSuite_tso.py: Fix some performance case issues. 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: , X-List-Received-Date: Wed, 04 Nov 2015 05:57:26 -0000 Hi, Heng=0A= =0A= Good to see your patch to DTS.=0A= =0A= Some comment below:=0A= =0A= 1. Reformat your commit log, make it to several lines.=0A= =0A= 2. Only add the file you need to change into the patch, the cfg file=0A= should not be include.=0A= =0A= Thanks,=0A= Michael=0A= =0A= On 2015/10/30 10:50, Ding Heng wrote:=0A= > Flows will not be the same on 2 IXIA ports in performance test case in or= der to avoid only one port will receive packet, work around for port can't = start up issues when testpmd down.=0A= >=0A= > Signed-off-by: Ding Heng =0A= >=0A= > diff --git a/conf/crbs.cfg b/conf/crbs.cfg=0A= > index 81c5c29..d031fb3 100644=0A= > --- a/conf/crbs.cfg=0A= > +++ b/conf/crbs.cfg=0A= > @@ -9,14 +9,14 @@=0A= > # ixia_group: IXIA group nmae=0A= > # channels: Board channel number=0A= > # bypass_core0: Whether by pass core0=0A= > -[DUT IP1]=0A= > -dut_ip=3Dxxx.xxx.xxx.xxx=0A= > +[10.239.129.182]=0A= > +dut_ip=3D10.239.129.182=0A= > dut_user=3Droot=0A= > -dut_passwd=3D=0A= > +dut_passwd=3D tester=0A= > os=3Dlinux=0A= > -tester_ip=3Dxxx.xxx.xxx.xxx=0A= > -tester_passwd=3D=0A= > -ixia_group=3D=0A= > +tester_ip=3D10.239.129.182=0A= > +tester_passwd=3Dtester=0A= > +ixia_group=3DIXIA Group1=0A= > channels=3D4=0A= > bypass_core0=3DTrue=0A= > [DUT IP2]=0A= > diff --git a/conf/ixia.cfg b/conf/ixia.cfg=0A= > index 92fd496..4c3b511 100644=0A= > --- a/conf/ixia.cfg=0A= > +++ b/conf/ixia.cfg=0A= > @@ -3,11 +3,11 @@=0A= > # Version : IXIA TCL server version=0A= > # IP : IXIA server IP address=0A= > # Ports : [IXIA port list]=0A= > -[IXIA Group]=0A= > +[IXIA Group1]=0A= > ixia_version=3D6.62=0A= > -ixia_ip=3Dxxx.xxx.xxx.xxx=0A= > +ixia_ip=3D10.239.128.121=0A= > ixia_ports=3D=0A= > - card=3D1,port=3D1;=0A= > - card=3D1,port=3D2;=0A= > - card=3D1,port=3D3;=0A= > - card=3D1,port=3D4;=0A= > + card=3D3,port=3D11;=0A= > + card=3D3,port=3D12;=0A= > + card=3D3,port=3D13;=0A= > + card=3D3,port=3D14;=0A= > diff --git a/conf/ports.cfg b/conf/ports.cfg=0A= > index 27ebfe0..3b2fa68 100644=0A= > --- a/conf/ports.cfg=0A= > +++ b/conf/ports.cfg=0A= > @@ -7,12 +7,15 @@=0A= > # [VM NAME] virtual machine name; This section is for virutal scenario= =0A= > # ports =3D=0A= > # dev_idx=3Ddevice index of ports info, peer=3DTester Pci BDF=0A= > -[DUT IP]=0A= > +[10.239.129.182]=0A= > ports =3D=0A= > - pci=3DXX:XX.X,intf=3Deth0;=0A= > - pci=3DYY:YY.Y,mac=3DXX:XX:XX:XX:XX:XX,peer=3DZZ:ZZ.Z,numa=3D0;=0A= > - pci=3DZZ:ZZ.Y,peer=3DIXIA:X.Y=0A= > -[VM NAME]=0A= > -ports =3D=0A= > - dev_idx=3D0,peer=3DXX:XX.X;=0A= > - dev_idx=3D1,peer=3DYY:YY.Y;=0A= > + pci=3D83:00.0,peer=3DIXIA:3.11;=0A= > + pci=3D83:00.1,peer=3DIXIA:3.12;=0A= > + pci=3D83:00.2,peer=3DIXIA:3.13;=0A= > + pci=3D83:00.3,peer=3DIXIA:3.14=0A= > +# pci=3D83:00.0,intf=3Dp6p1;=0A= > +# pci=3D83:00.1,intf=3Dp6p2;=0A= > +# pci=3D83:00.2,intf=3Dp6p3;=0A= > +# pci=3D83:00.3,intf=3Dp6p4=0A= > +# pci=3D84:00.0,peer=3DIXIA:2.6;=0A= > +# pci=3D86:00.0,peer=3DIXIA:2.9=0A= > diff --git a/tests/TestSuite_tso.py b/tests/TestSuite_tso.py=0A= > index 392157f..335b574 100644=0A= > --- a/tests/TestSuite_tso.py=0A= > +++ b/tests/TestSuite_tso.py=0A= > @@ -90,7 +90,7 @@ class TestTSO(TestCase):=0A= > self.dut_ports =3D self.dut.get_ports(self.nic)=0A= > =0A= > # Verify that enough ports are available=0A= > - self.verify(len(self.dut_ports) >=3D 2, "Insufficient ports for = testing")=0A= > + #self.verify(len(self.dut_ports) >=3D 2, "Insufficient ports for= testing")=0A= > =0A= > # Verify that enough threads are available=0A= > self.all_cores_mask =3D dts.create_mask(self.dut.get_core_list("= all"))=0A= > @@ -306,14 +306,7 @@ class TestTSO(TestCase):=0A= > =0A= > # prepare traffic generator input=0A= > tgen_input =3D []=0A= > - tgen_input.append((self.tester.get_local_port(self.dut_ports[0])= ,=0A= > - self.tester.get_local_port(self.dut_ports[1])= ,=0A= > - "test.pcap"))=0A= > - tgen_input.append((self.tester.get_local_port(self.dut_ports[1])= ,=0A= > - self.tester.get_local_port(self.dut_ports[0])= ,=0A= > - "test.pcap"))=0A= > =0A= > - mac =3D self.dut.get_mac_address(self.dut_ports[0])=0A= > # run testpmd for each core config=0A= > for test_cycle in self.test_cycles:=0A= > core_config =3D test_cycle['cores']=0A= > @@ -324,15 +317,16 @@ class TestTSO(TestCase):=0A= > else:=0A= > queues =3D 1=0A= > =0A= > - command_line =3D "./%s/app/testpmd -c %s -n %d %s -- -i --co= remask=3D%s --rxd=3D512 --txd=3D512 --burst=3D32 --rxfreet=3D64 --mbcache= =3D128 --portmask=3D%s --txpt=3D36 --txht=3D0 --txwt=3D0 --txfreet=3D32 --t= xrst=3D32 --txqflags=3D0 " % (self.target, self.all_cores_mask, self.dut.ge= t_memory_channels(), self.blacklist, self.coreMask, self.portMask)=0A= > + command_line =3D "./%s/app/testpmd -c %s -n %d -- -i --corem= ask=3D%s --portmask=3D%s " % (self.target, self.all_cores_mask, self.dut.g= et_memory_channels(), self.coreMask, self.portMask)=0A= > + #command_line =3D "./%s/app/testpmd -c %s -n %d %s -- -i --c= oremask=3D%s --rxd=3D512 --txd=3D512 --burst=3D32 --rxfreet=3D64 --mbcache= =3D128 --portmask=3D%s --txpt=3D36 --txht=3D0 --txwt=3D0 --txfreet=3D32 --t= xrst=3D32 --txqflags=3D0 " % (self.target, self.all_cores_mask, self.dut.ge= t_memory_channels(), self.blacklist, self.coreMask, self.portMask)=0A= > =0A= > info =3D "Executing PMD using %s\n" % test_cycle['cores']=0A= > self.logger.info(info)=0A= > dts.report(info, annex=3DTrue)=0A= > dts.report(command_line + "\n\n", frame=3DTrue, annex=3DTrue= )=0A= > =0A= > - self.dut.send_expect(cmd, "testpmd> ", 120)=0A= > - self.dut.send_expect("set verbose 1", "testpmd> ", 120)=0A= > + self.dut.send_expect(command_line, "testpmd> ", 120)=0A= > + #self.dut.send_expect("set verbose 1", "testpmd> ", 120)=0A= > self.dut.send_expect("csum set ip hw %d" % self.dut_ports[0]= , "testpmd> ", 120)=0A= > self.dut.send_expect("csum set udp hw %d" % self.dut_ports[0= ], "testpmd> ", 120)=0A= > self.dut.send_expect("csum set tcp hw %d" % self.dut_ports[0= ], "testpmd> ", 120)=0A= > @@ -354,8 +348,16 @@ class TestTSO(TestCase):=0A= > # create pcap file=0A= > self.logger.info("Running with frame size %d " % frame_s= ize)=0A= > payload_size =3D frame_size - self.headers_size=0A= > - self.tester.scapy_append('wrpcap("test.pcap", [Ether(dst= =3D"%s",src=3D"52:00:00:00:00:01")/IP(src=3D"192.168.1.1",dst=3D"192.168.1.= 2")/TCP(sport=3D1021,dport=3D1021)/("X"*%d)])' % (mac, payload_size))=0A= > + for _port in range(2):=0A= > + mac =3D self.dut.get_mac_address(self.dut_ports[_port])=0A= > + self.tester.scapy_append('wrpcap("dst%d.pcap", [Ether(d= st=3D"%s",src=3D"52:00:00:00:00:01")/IP(src=3D"192.168.1.1",dst=3D"192.168.= 1.2")/TCP(sport=3D1021,dport=3D1021)/("X"*%d)])' % (_port, mac, payload_siz= e))=0A= > self.tester.scapy_execute()=0A= > + tgen_input.append((self.tester.get_local_port(self.dut_ports[0]= ),=0A= > + self.tester.get_local_port(self.dut_ports[1])= ,=0A= > + "dst0.pcap"))=0A= > + tgen_input.append((self.tester.get_local_port(self.dut_ports[1]= ),=0A= > + self.tester.get_local_port(self.dut_ports[0])= ,=0A= > + "dst1.pcap"))=0A= > =0A= > # run traffic generator=0A= > _, pps =3D self.tester.traffic_generator_throughput(tgen= _input)=0A= > @@ -367,6 +369,10 @@ class TestTSO(TestCase):=0A= > self.dut.send_expect("stop", "testpmd> ")=0A= > self.dut.send_expect("quit", "# ", 30)=0A= > time.sleep(5)=0A= > + #work around for port unable to up issue.=0A= > + command_line =3D "./%s/app/testpmd -c %s -n %d -- --coremask= =3D%s --portmask=3D%s " % (self.target, self.all_cores_mask, self.dut.get_= memory_channels(), self.coreMask, self.portMask)=0A= > + self.dut.send_expect(command_line, "Press enter to exit", 30)=0A= > + self.dut.send_expect("^C", "#")=0A= > =0A= > for n in range(len(self.test_cycles)):=0A= > for frame_size in self.frame_sizes:=0A= =0A=