test suite reviews and discussions
 help / color / mirror / Atom feed
From: "Liu, Yong" <yong.liu@intel.com>
To: Kevin Wilson <wkevils@gmail.com>
Cc: "dts@dpdk.org" <dts@dpdk.org>
Subject: Re: [dts] L2FW fails with 'Not enough cores for performance!!!' (framework/etgen, py)
Date: Wed, 18 Apr 2018 02:18:44 +0000	[thread overview]
Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E63011802@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <CAGXs5wXjzjkwKiKgLoYx+qdn8cbvUfDg4au765_1+=GY4Zg0bA@mail.gmail.com>

Kevin,
According to the log, all four cores are physical cores and no hyper-threading enabled.
DTS will allocate two physical cores for each port which will require four cores within you setup.
By default bypass_core0 setting is enabled, so only three cores are available and can’t start dpdk pktgen.

You can simply change the code in etgen.py and try again. 

cores = self.tester.get_reserved_core("1C", socket=numa)
...
map_cmd += "[%s:%s].%d, " % (cores[0], cores[0], port_map[port])


There's another potential error which may occur is that dpdk-pktgen can't start. 
It is because of the binary was built on our xeon server. It may contains some instructions not supported on your cpu.
If that issue happened, you need to build dpdk-pktgen on your own server.

Thanks,
Marvin

> -----Original Message-----
> From: Kevin Wilson [mailto:wkevils@gmail.com]
> Sent: Wednesday, April 18, 2018 2:52 AM
> To: Liu, Yong <yong.liu@intel.com>
> Cc: dts@dpdk.org
> Subject: Re: [dts] L2FW fails with 'Not enough cores for performance!!!'
> (framework/etgen, py)
> 
> Hi,
> Thanks for you quick reply, Yong Liu!
> 
> First, I want to mention that I am running the tests on two hosts, and
> none of them is a VM.
> Second, as I mention in the mail, when I ran:
> 
> cat /proc/cpuinfo | grep -i processor
> I see 4 cores, thus:
> processor       : 0
> processor       : 1
> processor       : 2
> processor       : 3
> 
> Doesn't this indicate 4 physical processors?
> Another information I want to add is the output of lspcu:
> lscpu
> Architecture:          x86_64
> CPU op-mode(s):        32-bit, 64-bit
> Byte Order:            Little Endian
> CPU(s):                4
> On-line CPU(s) list:   0-3
> Thread(s) per core:    1
> Core(s) per socket:    4
> Socket(s):             1
> NUMA node(s):          1
> Vendor ID:             GenuineIntel
> CPU family:            6
> Model:                 45
> Stepping:              7
> CPU MHz:               1228.312
> BogoMIPS:              4799.79
> Virtualization:        VT-x
> L1d cache:             32K
> L1i cache:             32K
> L2 cache:              256K
> L3 cache:              10240K
> NUMA node0 CPU(s):     0-3
> 
> And running:
> /work/src/dpdk-17.11/usertools/cpu_layout.py
> Gives:
> ======================================================================
> Core and Socket Information (as reported by '/sys/devices/system/cpu')
> ======================================================================
> 
> cores =  [0, 1, 2, 3]
> sockets =  [0]
> 
>        Socket 0
>        --------
> Core 0 [0]
> Core 1 [1]
> Core 2 [2]
> Core 3 [3]
> 
> This this info indicate 4 physical cores ?
> 
> Second question is: should the tester have exactly the same
> number of cores, sockets and threads as the DUT? I don't think I saw
> such a requirement in the docs, but maybe
> I am wrong.
> 
> 
> Regards,
> Kevin
> 
> On Tue, Apr 17, 2018 at 4:34 AM, Liu, Yong <yong.liu@intel.com> wrote:
> > Hi Kevin,
> > DTS will try to allocate two physical cores for DPDK based pktgen.
> Meanwhile will skip first physical cores for system usage.
> > I'm not sure whether the four cores on your server are all physical
> cores. If not, may met such issue.
> >
> > Thanks,
> > Marvin
> >
> >> -----Original Message-----
> >> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Kevin Wilson
> >> Sent: Monday, April 16, 2018 7:47 PM
> >> To: dts@dpdk.org
> >> Subject: [dts] L2FW fails with 'Not enough cores for performance!!!'
> >> (framework/etgen, py)
> >>
> >> Hi,
> >> I am trying to run DTS L2FW performance between a tester and a DUT
> using
> >> DTS
> >> (with scapy, not with IXIA) and I am getting the following error:
> >> TestL2fwd: Test Case test_perf_l2fwd_performance Result FAILED: 'Not
> >> enough cores for performance!!!'
> >> and the DTS app terminates.
> >> I located the error, and it is from packet_generator() method of
> >> framework/etgen.py
> >> What can be the reason for this  ?
> >>
> >> Further details:
> >> The execution.cfg file I am using is:
> >> [Execution1]
> >> crbs=IP adderss of DUT
> >> drivername=igb_uio
> >> test_suites=
> >>        l2fwd
> >> targets=
> >>     x86_64-native-linuxapp-gcc
> >> parameters=nic_type=niantic:perf=true
> >>
> >> I have 2 machine: host A is the tester, and host B is the DUT.
> >> Both have IXGBE nics, and each of these 2 nics have 2 ports.
> >> On the tester, the PCI ids of the IXGBEs are 0000:04:00.0 and
> 0000:04:00.1
> >> On the DUT, the PCI ids of the IXGBEs are 0000:06:00.0 and 0000:06:00.1
> >> The IXGBEs are 8086:158b on both hosts
> >>
> >> I have two configuration files:
> >> conf/ports.cfg:
> >> [DUT IP]
> >> ports =
> >>     pci=0000:06:00.0,peer=0000:04:00.0;
> >>     pci=0000:06:00.1,peer=0000:04:00.1;
> >>
> >>
> >> conf/crb.cfg:
> >>
> >> [DUT IP]
> >> dut_ip=DUT IP
> >> dut_user=root
> >> dut_passwd=dut_password
> >> os=linux
> >> tester_ip=TESTER IP
> >> tester_passwd=tester_password
> >> channels=4
> >> bypass_core0=False
> >>
> >> Both hosts have 4 cores (as is shown by "cat /proc/cpuinfo | grep -i
> >> processor")
> >> I am running DTS by:
> >> ./dts --git=v17.11  --config-file=myConfig.cfg
> >>
> >>
> >> Regards,
> >> Kevin

  reply	other threads:[~2018-04-18  2:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-16 11:46 Kevin Wilson
2018-04-17  1:34 ` Liu, Yong
2018-04-17 18:52   ` Kevin Wilson
2018-04-18  2:18     ` Liu, Yong [this message]
2018-04-18 18:10       ` Kevin Wilson
2018-04-19  6:02         ` Liu, Yong

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=86228AFD5BCD8E4EBFD2B90117B5E81E63011802@SHSMSX101.ccr.corp.intel.com \
    --to=yong.liu@intel.com \
    --cc=dts@dpdk.org \
    --cc=wkevils@gmail.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).