DPDK usage discussions
 help / color / mirror / Atom feed
From: "Rosen, Rami" <rami.rosen@intel.com>
To: RAJESH KUMAR S.R <rajuuu1992@gmail.com>,
	"users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] [DPDK-PDUMP] Issue: RING: Cannot reserve memory
Date: Sun, 18 Mar 2018 19:09:54 +0000	[thread overview]
Message-ID: <9B0331B6EBBD0E4684FBFAEDA55776F95317ED25@HASMSX110.ger.corp.intel.com> (raw)
In-Reply-To: <CAC-BHbWVpBTqxgZaMFnfXoPBbMUJoSUOkHuFYMyKXNvrosH3AA@mail.gmail.com>

Hi Rajesh,

First notice the warning you get:
>EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
>EAL:    This may cause issues with mapping memory into secondary processes

So first, I would suggest that you will disable ASLR and try again, to verify it is not the cause. IIRC, in the past I had some issue with dpdk-pdump when ASLR was not enabled (but IIRC the issue itself was different – probably not getting packets written to the pcap file or something else).
Disabling ASLR is done easily:
Probably you have : cat   /proc/sys/kernel/randomize_va_space
gives “2”
To disable it run
echo 0 > /proc/sys/kernel/randomize_va_space

And also I would suggest to try it with testpmd. I actually ran it today with
DPDK 18.02 with testpmd, and it worked for me. I sent L2 traffic with scapy, and captured only RX packets with rx-dev; any other L2 packet generator should be OK.

Regards,
Rami Rosen




From: RAJESH KUMAR S.R [mailto:rajuuu1992@gmail.com]
Sent: Sunday, March 18, 2018 19:52
To: Rosen, Rami <rami.rosen@intel.com>; users@dpdk.org
Subject: Re: [dpdk-users] [DPDK-PDUMP] Issue: RING: Cannot reserve memory


Hi Rami,

Thanks for the response.

DPDK version I'm using is 18.02.0.
The primary process I'm using is custom program which uses dpdk.
I have initialized pdump in the primary process using "rte_pdump_init(NULL)" similar to that in testpmd example.
I'm using the pdump tool without making any changes.

I enabled the following flags
1. CONFIG_RTE_LIBRTE_PDUMP=y
2. CONFIG_RTE_LIBRTE_PMD_PCAP=y
I added the libpcap library
The problem I'm facing is bit different from what I mentioned earlier.
The first time when I run, I'm able to see the packets getting saved in the output pcap file, rx.pcap and tx.pcap.
The second time when I run, I'm getting a segmentation fault as I have pasted the output in the previous message.
I'm using gdb for debugging, the functions rte_eal_init(), create_mp_ring_vdev();
        enable_pdump();  are working fine.

The segmentation fault is occuring in rte_eth_tx_burst function(dump_packets ->pdump_rxtx-->rte_eth_tx_burst)
The rings tx_ring_0 and rx_ring_0 are not getting freed. I checked that with rte_memzone_dump().  So, next time when I start the pdump tool I was getting " memzone <RG_rx_ring_0> already exists .  RING: Cannot reserve memory" error.
So, issue is in rte_eth_tx_burst function, where the "dev->data->tx_queues[queue_id]" is NULL.


"
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 0 on socket 0
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 2 lcore(s)
EAL: Module /sys/module/vfio_pci not found! error 2 (No such file or directory)
EAL: VFIO PCI modules not loaded
EAL: Multi-process socket /var/run/.rte_unix_1817_14c6748457c5
[New Thread 0x7ffff67d4700 (LWP 1821)]
EAL: Probing VFIO support...
EAL: Module /sys/module/vfio not found! error 2 (No such file or directory)
EAL: VFIO modules not loaded, skipping VFIO support...
EAL: Module /sys/module/vfio not found! error 2 (No such file or directory)
EAL: Setting up physically contiguous memory...
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Analysing 300 files
EAL: Mapped segment 0 of size 0x400000
EAL: Mapped segment 1 of size 0x200000
EAL: Mapped segment 2 of size 0x200000
EAL: Mapped segment 3 of size 0x200000
EAL: Mapped segment 4 of size 0x24c00000
EAL: Mapped segment 5 of size 0x200000
EAL: TSC frequency is ~2904192 KHz
EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !
EAL: Master lcore 0 is ready (tid=f7fec8c0;cpuset=[0])
[New Thread 0x7ffff5fd3700 (LWP 1822)]
EAL: PCI device 0000:00:03.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI Port IO found start=0xc060
EAL: PCI device 0000:00:04.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI Port IO found start=0xc080
EAL: PCI device 0000:00:05.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: Requested device 0000:00:05.0 cannot be used
PMD: Initializing pmd_pcap for net_pcap_rx_0
PMD: Creating pcap-backed ethdev on numa socket -1
PMD: Initializing pmd_pcap for net_pcap_tx_0
PMD: Creating pcap-backed ethdev on numa socket -1

Thread 1 "dpdk-pdump" received signal SIGSEGV, Segmentation fault.
0x000000000043ee07 in rte_eth_tx_burst (port_id=4, queue_id=0, tx_pkts=0x7fffffffe8c0, nb_pkts=1)
"
I don't know why tx_queues is NULL.
I'm currently checking where that is getting populated.

Thanks & Regards,
Rajesh kumar S R


On Sat, Mar 17, 2018 at 9:28 PM, Rosen, Rami <rami.rosen@intel.com<mailto:rami.rosen@intel.com>> wrote:
Hi Rajesh,

Can you please provide more details:

- Which DPDK version are you using?

- dpdk-pdump is a secondary process and must be launched along with
any primary process. Which is the primary process you are running ?
is it something that you developed on your own/took something from DPDK examples (with/without extending it), etc ?

Regards,
Rami Rosen


-----Original Message-----
From: users [mailto:users-bounces@dpdk.org<mailto:users-bounces@dpdk.org>] On Behalf Of RAJESH KUMAR S.R
Sent: Monday, March 12, 2018 12:25
To: users@dpdk.org<mailto:users@dpdk.org>
Subject: [dpdk-users] [DPDK-PDUMP] Issue: RING: Cannot reserve memory

Hi,

I am new to dpdk.
I'm trying to use dpdk-pdump tool. I'm able to capture packets on dpdk ports.

But, I'm facing the following issue
I'm getting a error "RING:Cannot reserve memory" while trying to restart the pdump tool or running 2 instances of pdump.
I have also used the rte_eal_cleanup while exiting pdump main function.


Output:
* sudo /opt/pep/active/bin/dpdk-pdump -- --pdump
'port=0,queue=*,rx-dev=/tmp/rx.pcap,tx-dev=/tmp/tx.pcap'*
[sudo] password for admin:
EAL: Detected 2 lcore(s)
EAL: Multi-process socket /var/run/.rte_unix_1061_ce297dfe759
EAL: Probing VFIO support...
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !
EAL: PCI device 0000:00:03.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI device 0000:00:04.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI device 0000:00:05.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: Requested device 0000:00:05.0 cannot be used
PMD: Initializing pmd_pcap for net_pcap_rx_0
PMD: Creating pcap-backed ethdev on numa socket -1 Port 2 MAC: 00 00 00 01 02 03
PMD: Initializing pmd_pcap for net_pcap_tx_0
PMD: Creating pcap-backed ethdev on numa socket -1 Port 3 MAC: 00 00 00 01 02 03 ^C

Signal 2 received, preparing to exit...
##### PDUMP DEBUG STATS #####
 -packets dequeued:            4
 -packets transmitted to vdev:        4
 -packets freed:            0


Restarting........
*> sudo /opt/pep/active/bin/dpdk-pdump -- --pdump
'port=0,queue=*,rx-dev=/tmp/rx.pcap,tx-dev=/tmp/tx.pcap'*
EAL: Detected 2 lcore(s)
EAL: Multi-process socket /var/run/.rte_unix_1073_cea9cc51241
EAL: Probing VFIO support...
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !
EAL: PCI device 0000:00:03.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI device 0000:00:04.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI device 0000:00:05.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: Requested device 0000:00:05.0 cannot be used
PMD: Initializing pmd_pcap for net_pcap_rx_0
PMD: Creating pcap-backed ethdev on numa socket -1
PMD: Initializing pmd_pcap for net_pcap_tx_0
PMD: Creating pcap-backed ethdev on numa socket -1 Segmentation fault

*> sudo /opt/pep/active/bin/dpdk-pdump -- --pdump
'port=0,queue=*,rx-dev=/tmp/rx.pcap,tx-dev=/tmp/tx.pcap'*
EAL: Detected 2 lcore(s)
EAL: Multi-process socket /var/run/.rte_unix_1087_cec3ab006b1
EAL: Probing VFIO support...
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !
EAL: PCI device 0000:00:03.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI device 0000:00:04.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI device 0000:00:05.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: Requested device 0000:00:05.0 cannot be used
RING: Cannot reserve memory
EAL: Error - exiting with code: 1
  Cause: File exists:create_mp_ring_vdev:634



Hugepage info:
cat /proc/meminfo | grep Huge
AnonHugePages:      6144 kB
HugePages_Total:     300
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB


Can you please help me in finding the issue.



Thanks,
Rajesh kumar S R


  reply	other threads:[~2018-03-18 19:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-12 10:25 RAJESH KUMAR S.R
2018-03-17 15:58 ` Rosen, Rami
2018-03-18 17:52   ` RAJESH KUMAR S.R
2018-03-18 19:09     ` Rosen, Rami [this message]
2018-03-19 11:24       ` RAJESH KUMAR S.R
2018-03-20  9:25         ` RAJESH KUMAR S.R

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=9B0331B6EBBD0E4684FBFAEDA55776F95317ED25@HASMSX110.ger.corp.intel.com \
    --to=rami.rosen@intel.com \
    --cc=rajuuu1992@gmail.com \
    --cc=users@dpdk.org \
    /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).