From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 587362B9F for ; Sat, 27 May 2017 04:16:57 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP; 26 May 2017 19:16:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,400,1491289200"; d="scan'208";a="1135262361" Received: from unknown (HELO dpdk-fedora20.icx.intel.com) ([10.240.176.135]) by orsmga001.jf.intel.com with ESMTP; 26 May 2017 19:16:54 -0700 From: "xu,gang" To: dts@dpdk.org Cc: "xu,gang" Date: Sat, 27 May 2017 10:18:16 +0800 Message-Id: <1495851498-62609-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: Sat, 27 May 2017 02:16:59 -0000 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