test suite reviews and discussions
 help / color / mirror / Atom feed
From: "Liu, Yong" <yong.liu@intel.com>
To: "Tu, LijuanX A" <lijuanx.a.tu@intel.com>, "dts@dpdk.org" <dts@dpdk.org>
Subject: Re: [dts] [PATCH V1 1/2] multiple_pthread: Add test plan
Date: Tue, 27 Jun 2017 16:59:11 +0000	[thread overview]
Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62E0FE04@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <38D041F150D4184C8114E499040E62343DBE38B8@SHSMSX103.ccr.corp.intel.com>

Lijuan,
I've known that this case should cover combinations as more as possible. My ask is just to add some descriptions about what the meaning of these combinations.
Like --lcores='0@8,(4-5)@(8-11)', it will start master lcore on core 8 and lcore4-5 on core 8-11. 

For dump command, I think you can use command option replace of args option. With command option, will show that where lcore thread is running. 
ps -C testpmd -L -opid,tid,%cpu,psr,comm

[root@dpdk-test38 ~]# ps -C testpmd -L -opid,tid,%cpu,psr,comm
  PID   TID %CPU PSR COMMAND
40971 40971  1.8   8 testpmd
40971 40974  0.0   8 eal-intr-thread
40971 40975  3.3   9 lcore-slave-4
40971 40976  0.0   9 lcore-slave-5
40971 40977  0.0   8 pdump-thread


Thanks,
Marvin

> -----Original Message-----
> From: Tu, LijuanX A
> Sent: Sunday, June 25, 2017 7:00 PM
> To: Liu, Yong <yong.liu@intel.com>; dts@dpdk.org
> Subject: RE: [dts] [PATCH V1 1/2] multiple_pthread: Add test plan
> 
> Hi liuyong,
> 
> This is simply random combination test. I will send V2 immediately
> The script is fixed selection of several combinations,
> I think it's not rigorous , but it 's difficult for us to randomly
> generated the combined parameters.
> 
> 
> 
> -----Original Message-----
> From: Liu, Yong
> Sent: Saturday, June 24, 2017 1:18 AM
> To: Tu, LijuanX A; dts@dpdk.org
> Cc: Tu, LijuanX A
> Subject: RE: [dts] [PATCH V1 1/2] multiple_pthread: Add test plan
> 
> Lijuan, some comments below.
> 
> > -----Original Message-----
> > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Lijuan Tu
> > Sent: Thursday, June 15, 2017 9:59 PM
> > To: dts@dpdk.org
> > Cc: Tu, LijuanX A <lijuanx.a.tu@intel.com>
> > Subject: [dts] [PATCH V1 1/2] multiple_pthread: Add test plan
> >
> > Signed-off-by: Lijuan Tu <lijuanx.a.tu@intel.com>
> > ---
> >  test_plans/multiple_pthread_test_plan.rst | 151
> > ++++++++++++++++++++++++++++++
> >  1 file changed, 151 insertions(+)
> >  create mode 100644 test_plans/multiple_pthread_test_plan.rst
> >
> > diff --git a/test_plans/multiple_pthread_test_plan.rst
> > b/test_plans/multiple_pthread_test_plan.rst
> > new file mode 100644
> > index 0000000..4de4643
> > --- /dev/null
> > +++ b/test_plans/multiple_pthread_test_plan.rst
> > @@ -0,0 +1,151 @@
> > +.. Copyright (c) < 2017 >, 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.
> > +
> > +=====================
> > +Multiple Pthread Test
> > +=====================
> > +
> > +
> > +Description
> > +-----------
> > +
> > +This test is a basic multiple pthread test which demonstrates the
> > +basics of control group. Cgroup is a Linux kernel feature that
> > +limits, accounts for and isolates the resource usage, like CPU,
> > +memory, disk I/O, network, etc of a collection of processes. Now, it's
> focus on the CPU usage.
> > +
> > +Prerequisites
> > +-------------
> > +Support igb_uio driver, kernel is 3.11+.
> > +Use "modeprobe uio" "modprobe igb_uio" and then use
> > +"./tools/dpdk_nic_bind.py --bind=igb_uio device_bus_id" to bind the
> > ports.
> > +
> > +Assuming that an Intel� DPDK build has been set up and the testpmd
> > +applications have been built.
> > +
> > +Os required: Linux and FreeBSD
> > +
> > +Test Case 1: Basic operation
> > +----------------------------
> > +
> > +To run the application, start the testpmd with the lcoress all
> > +running
> > with
> > +threads and also the unique core assigned, command as follows::
> > +
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='0@8,(4-5)@9'
> > + -n 4
> > -- -i --portmask=0xc
> > +    EAL: Master lcore 0 is ready (tid=ffd4900;cpuset=[8])
> > +    EAL: lcore 4 is ready (tid=873e7700;cpuset=[9])
> > +    EAL: lcore 5 is ready (tid=873e7700;cpuset=[9])
> > +
> > +To check the output, we shall make sure the lcore are init on the
> > +correct
> > cpu.
> > +e.g. Duing INIT log we can found below:
> > +
> > +The process should start successfully and display a command prompt as
> > follows::
> > +
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='0@8,(4-5)@9'
> > + -n 4
> > -- -i --portmask=0xc
> > +    Checking link statuses...
> > +    Port 0 Link Up - speed 10000 Mbps - full-duplex
> > +    Port 1 Link Up - speed 10000 Mbps - full-duplex
> > +    Done
> > +
> > +Start the packet forwarding as follows::
> > +
> > +    testpmd>set fwd mac
> > +
> > +Before running the test, make sure the core is a unique one
> > +otherwise, the throughput will be floating on different cores,
> > +another thing is to make sure all the logic cores are running,
> > +command as
> > follows::
> > +
> > +    testpmd>set corelist 4,5
> > +
> > +Pay attention that set corelist need to be configured before start,
> > +otherwise, it will not work::
> > +
> > +    testpmd>start
> > +    testpmd>show config fwd
> > +
> > +Using the command to find the threads that's running, as follows::
> > +
> > +    ps -C testpmd -L -opid,tid,%cpu,psr,args
> > +
> > +Result as follows:
> > +
> > +       PID    TID %CPU PSR COMMAND
> > +    179459 179459  0.2   8 ./x86_64-native-linuxapp-gcc/app/testpmd --
> > lcores=0 at 8,(4-5)@9 -n 4 -- -i --portmask=0xc
> > +    179459 179460  0.0  21 ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --
> > lcores=0 at 8,(4-5)@9 -n 4 -- -i --portmask=0xc
> > +    179461  0.0  21 ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores=0
> > at 8,(4-5)@9 -n 4 -- -i --portmask=0xc
> > +    179459 179462 80.4   9 ./x86_64-native-linuxapp-gcc/app/testpmd --
> > lcores=0 at 8,(4-5)@9 -n 4 -- -i --portmask=0xc
> > +    179459 179463  0.0   9 ./x86_64-native-linuxapp-gcc/app/testpmd --
> > lcores=0 at 8,(4-5)@9 -n 4 -- -i --portmask=0xc
> > +
> > +You will see that there are two threads running on core 9.
> > +The last 2 threads are running threads, their TID will be assigned to
> > +the
> > tasks in the folder thread0.
> > +
> > +    cd /sys/fs/cgroup/cpu/dpdk/thread0
> > +    echo 179462 > tasks
> > +    echo 179463 > tasks
> > +
> > +Assgined the percentage of cpu these two threads occupy as follows:
> > +
> Typo issue here, "assigned" should be "assigned".
> 
> > +    echo 10000 > cpu.cfs_quota_us
> > +
> > +This means the two threads will totally occupy 10% of the CPU and each
> 5%.
> > +
> > +
> > +Test Case 2: Positive Test
> > +--------------------------
> > +
> Please add some description of these settings.
> 
> 
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='0 at
> > + 8,(4-5)@(8-
> > 11)' -n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='1,2@(0-4,6),(3-
> > 4,6)@5,(7,8)' -n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --
> > txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --
> > lcores='(0,CONFIG_RTE_MAX_LCORE-1)@(4,5)' -n 4 -- -i --txfreet=32 --
> > rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0,64-66)@(4,5)' -
> > n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='2-5,6,7-9' -n
> > + 4 --
> > -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='2, (3-5)@ 3'
> > + -n 4
> > -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='(0,7-4)@(4,5)'
> > + -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +
> > +Test Case 3: Negative Test
> > +--------------------------
> > +
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0-,4-7)@(4,5)' -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(-1,4-7)@(4,5)' -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0,4-7-9)@(4,5)' -
> > n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0,abcd)@(4,5)' -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0,4-7)@(1-,5)' -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0,4-7)@(-1,5)' -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='(0,4-7)@(4,5-8-
> 9)'
> > -n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0,4-7)@(abc,5)' -
> > n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0,4-7)@(4,xyz)' -
> > n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='(0,4-7)=(8,9)'
> > + -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='2,3 at 4,(0-
> > 1,,4))' -n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01
> > --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='[0-,4-7]@(4,5)' -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd
> > + --lcores='(0-,4-7)@[4,5]' -n
> > 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='3-4 at 3,2 at 5-
> 6'
> > -n 4 -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='2,,3''2--3' -n
> > + 4 -
> > - -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > +    ./x86_64-native-linuxapp-gcc/app/testpmd --lcores='2,,,3''2--3'
> > + -n 4
> > -- -i --txfreet=32 --rxfreet=32 --txqflags=0xf01 --txrst=32
> > --
> > 2.5.0

      reply	other threads:[~2017-06-27 16:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-16  4:58 Lijuan Tu
2017-06-16  4:58 ` [dts] [PATCH V1 2/2] multiple_pthread: Add test script Lijuan Tu
2017-06-23 17:17 ` [dts] [PATCH V1 1/2] multiple_pthread: Add test plan Liu, Yong
2017-06-26  2:00   ` Tu, LijuanX A
2017-06-27 16:59     ` Liu, Yong [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86228AFD5BCD8E4EBFD2B90117B5E81E62E0FE04@SHSMSX103.ccr.corp.intel.com \
    --to=yong.liu@intel.com \
    --cc=dts@dpdk.org \
    --cc=lijuanx.a.tu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).