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 C7F422BA3 for ; Fri, 9 Jun 2017 08:06:58 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jun 2017 23:06:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,316,1493708400"; d="scan'208";a="97415130" Received: from unknown (HELO dpdk-fedora20.icx.intel.com) ([10.240.176.135]) by orsmga002.jf.intel.com with ESMTP; 08 Jun 2017 23:06:52 -0700 From: "xu,gang" To: dts@dpdk.org Cc: "xu,gang" Date: Fri, 9 Jun 2017 14:08:14 +0800 Message-Id: <1496988494-73053-1-git-send-email-gangx.xu@intel.com> X-Mailer: git-send-email 1.9.3 Subject: [dts] [PATCH V1] modify the interrupt pmd test plan 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: Fri, 09 Jun 2017 06:06:59 -0000 merge PF interrupt pmd test with uio vfio mode and check state with different queue in it remove VF interrupt pmd test case to VF interrupt pmd test suite Signed-off-by: xu,gang --- test_plans/interrupt_pmd_test_plan.rst | 170 ++++----------------------------- 1 file changed, 19 insertions(+), 151 deletions(-) diff --git a/test_plans/interrupt_pmd_test_plan.rst b/test_plans/interrupt_pmd_test_plan.rst index 6dfd821..7503283 100644 --- a/test_plans/interrupt_pmd_test_plan.rst +++ b/test_plans/interrupt_pmd_test_plan.rst @@ -57,8 +57,8 @@ Iommu pass through feature has been enabled in kernel. Support igb_uio and vfio driver, if used vfio, kernel need 3.6+ and enable vt-d in bios. When used vfio, requested to insmod two drivers vfio and vfio-pci. -Test Case1: PF interrupt pmd with uio -===================================== +Test Case1: PF interrupt pmd with different queue +================================================= Run l3fwd-power with one queue per port:: l3fwd-power -c 7 -n 4 -- -p 0x3 -P --config="(0,0,1),(1,0,2)" @@ -76,51 +76,29 @@ After the packet forwarded, thread on core1 and core 2 will return to sleep. Send packet flows to Port0 and Port1, check that thread on core1 and core2 will keep up awake. -Test Case2: PF interrupt pmd with vfio -====================================== -Run l3fwd-power with one queue per port:: - l3fwd-power -c 7 -n 4 -- -p 0x3 -P --config="(0,0,1),(1,0,2)" +Run l3fwd-power with random number queue per port, if is 4:: + l3fwd-power -c 7 -n 4 -- -p 0x3 -P --config="0,0,0),(0,1,1),\ + (0,2,2),(0,3,3),(0,4,4)" -Send one packet to Port0 and Port1, check that thread on core1 and core2 -waked up: - L3FWD_POWER: lcore 1 is waked up from rx interrupt on port1,rxq0 - L3FWD_POWER: lcore 2 is waked up from rx interrupt on port1,rxq0 - -Check the packet has been normally forwarded. - -After the packet forwarded, thread on core1 and core 2 will return to sleep. - L3FWD_POWER: lcore 1 sleeps until interrupt on port0,rxq0 triggers - L3FWD_POWER: lcore 2 sleeps until interrupt on port0,rxq0 triggers +Send packet with increased dest IP to Port0, check that all threads waked up Send packet flows to Port0 and Port1, check that thread on core1 and core2 will -keep up awake. - -Test Case3: PF interrupt pmd multi queue with vfio -================================================== -Run l3fwd-power with two queues per port:: - l3fwd-power -c 1f -n 4 -- -p 0x3 \ - --config="(0,0,1),(0,1,2)(1,0,3),(1,1,4)" +keep up awake. -Send packet with increased dest IP to Port0 and Port1, check that thread on -core1,core2,core3,core4 waked up: - L3FWD_POWER: lcore 1 is waked up from rx interrupt on port1,rxq0 - L3FWD_POWER: lcore 2 is waked up from rx interrupt on port1,rxq1 - L3FWD_POWER: lcore 3 is waked up from rx interrupt on port1,rxq0 - L3FWD_POWER: lcore 4 is waked up from rx interrupt on port1,rxq1 - -Check the packet has been normally forwarded. +Run l3fwd-power with 32 queues per port:: + l3fwd-power -c ffffffff -n 4 -- -p 0x3 -P --config="(0,0,0),(0,1,1),\ + (0,2,2),(0,3,3),(0,4,4),(0,5,5),(0,6,6),(0,7,7),(0,8,8), + (0,9,9),(0,10,10),(0,11,11),(0,12,12),(0,13,13),(0,14,14),\ + (0,15,15),\ + (1,0,16),(1,1,17),(1,2,18),(1,3,19),(1,4,20),(1,5,21),(1,6,22),\ + (1,7,23),(1,8,24),(1,9,25),(1,10,26),(1,11,27),(1,12,28),\ + (1,13,29),(1,14,30),\(1,15,31)" +Send packet with increased dest IP to Port0, check that all threads waked up -After the packet forwarded, thread on core1,core2,core3,core4 will return to -sleep. - L3FWD_POWER: lcore 1 sleeps until interrupt on port0,rxq0 triggers - L3FWD_POWER: lcore 2 sleeps until interrupt on port0,rxq1 triggers - L3FWD_POWER: lcore 3 sleeps until interrupt on port1,rxq0 triggers - L3FWD_POWER: lcore 4 sleeps until interrupt on port1,rxq1 triggers +igb_uio driver only ues one queue 0 -Send packet flows to Port0 and Port1, check that thread on core1,core2,core3, -core4 will keep up awake. -Test Case4: PF lsc interrupt with vfio +Test Case2: PF lsc interrupt with vfio ====================================== Run l3fwd-power with one queue per port:: l3fwd-power -c 7 -n 4 -- -p 0x3 -P --config="(0,0,1),(1,0,2)" @@ -137,118 +115,8 @@ driver. Plug in Port1 cable, check that link up interrtup captured and handled by pmd driver. -Test Case5: PF interrupt max Rx queues with vfio -================================================ -Run l3fwd-power with 32 queues per port:: - l3fwd-power -c ffffffff -n 4 -- -p 0x3 -P --config="(0,0,0),(0,1,1),\ - (0,2,2),(0,3,3),(0,4,4),(0,5,5),(0,6,6),(0,7,7),(0,8,8), - (0,9,9),(0,10,10),(0,11,11),(0,12,12),(0,13,13),(0,14,14),\ - (0,15,15),\ - (1,0,16),(1,1,17),(1,2,18),(1,3,19),(1,4,20),(1,5,21),(1,6,22),\ - (1,7,23),(1,8,24),(1,9,25),(1,10,26),(1,11,27),(1,12,28),\ - (1,13,29),(1,14,30),\(1,15,31)" - -Send packet with increased dest IP to Port0, check that all threads waked up: - -Test Case6: VF interrupt pmd in VM with uio -=========================================== -Create one VF per Port in host and add these two VFs into VM: - rmmod ixgbe - modprobe ixgbe max_vfs=1 - virsh - virsh # nodedev-dettach PCI_VF1 - virsh # nodedev-dettach PCI_VF2 - -Assign mac address for VF: - ip link set p786p1 vf 0 mac 00:11:22:33:44:55 - ip link set p786p2 vf 0 mac 00:11:22:33:44:66 - -Start VM and start l3fwd-power with one queue per port in VM: - l3fwd-power -c 7 -n 4 -- -p 0x3 -P --config="(0,0,1),(1,0,2)" - -Send one packet to VF0 and VF1, check that thread on core1 and core2 waked up: - L3FWD_POWER: lcore 1 is waked up from rx interrupt on port1,rxq0 - L3FWD_POWER: lcore 2 is waked up from rx interrupt on port1,rxq0 - -Check the packet has been normally forwarded. - -After the packet forwarded, thread on core1 and core 2 will return to sleep. - L3FWD_POWER: lcore 1 sleeps until interrupt on port0,rxq0 triggers - L3FWD_POWER: lcore 2 sleeps until interrupt on port0,rxq0 triggers - -Send packet flows to VF0 and VF1, check that thread on core1 and core2 will -keep up awake. - -Test Case7: VF interrupt pmd in Host with uio -============================================= -Create one VF per Port in host and make sure PF interface up: - rmmod ixgbe - modprobe ixgbe max_vfs=1 - ifconfig p786p1 up - ifconfig p786p2 up - -Assign mac address for VF: - ip link set p786p1 vf 0 mac 00:11:22:33:44:55 - ip link set p786p2 vf 0 mac 00:11:22:33:44:66 - -Bind VF device to igb_uio: - ./usertools/dpdk-devbind.py --bind=igb_uio 0000:08:10.0 0000:08:10.1 - -Start VM and start l3fwd-power with one queue per port in VM: - l3fwd-power -c 7 -n 4 -- -p 0x3 -P --config="(0,0,1),(1,0,2)" - -Send one packet to VF0 and VF1, check that thread on core1 and core2 waked up: - L3FWD_POWER: lcore 1 is waked up from rx interrupt on port1,rxq0 - L3FWD_POWER: lcore 2 is waked up from rx interrupt on port1,rxq0 - -Check the packet has been normally forwarded. - -After the packet forwarded, thread on core1 and core 2 will return to sleep. - L3FWD_POWER: lcore 1 sleeps until interrupt on port0,rxq0 triggers - L3FWD_POWER: lcore 2 sleeps until interrupt on port0,rxq0 triggers - -Send packet flows to VF0 and VF1, check that thread on core1 and core2 will -keep up awake. - -Test Case8: VF interrupt pmd in Host with vfio -============================================== -Create one VF per Port in host and make sure PF interface up: - rmmod ixgbe - modprobe ixgbe max_vfs=2 - ifconfig p786p1 up - ifconfig p786p2 up - -Assign mac address for VF: - ip link set p786p1 vf 0 mac 00:11:22:33:44:55 - ip link set p786p2 vf 0 mac 00:11:22:33:44:66 - -Bind VF device to igb_uio: - ./usertools/dpdk-devbind.py --bind=igb_uio 0000:08:10.0 0000:08:10.1 - -Start VM and start l3fwd-power with two queues per port in VM: - l3fwd-power -c 1f -n 4 -- -p 0x3 -P \ - --config="(0,0,1),(0,1,2)(1,0,3),(1,1,4)" - -Send packets with increased dest IP to Port0 and Port1, check that thread on -core1,core2,core3,core4 waked up: - L3FWD_POWER: lcore 1 is waked up from rx interrupt on port1,rxq0 - L3FWD_POWER: lcore 2 is waked up from rx interrupt on port1,rxq1 - L3FWD_POWER: lcore 3 is waked up from rx interrupt on port1,rxq0 - L3FWD_POWER: lcore 4 is waked up from rx interrupt on port1,rxq1 - -Check the packet has been normally forwarded. - -After the packet forwarded, thread on core1,core2,core3,core4 will return to -sleep. - L3FWD_POWER: lcore 1 sleeps until interrupt on port0,rxq0 triggers - L3FWD_POWER: lcore 2 sleeps until interrupt on port0,rxq1 triggers - L3FWD_POWER: lcore 3 sleeps until interrupt on port1,rxq0 triggers - L3FWD_POWER: lcore 4 sleeps until interrupt on port1,rxq1 triggers - -Send packet flows to Port0 and Port1, check that thread on core1,core2,core3, -core4 will keep up awake. -Test Case9: PF interrupt pmd latency test +Test Case3: PF interrupt pmd latency test ========================================= Setup validation scenario the case as test1 Send burst packet flow to Port0 and Port1, use IXIA capture the maxmium -- 1.9.3