marty90 / DPDK-Dump

DPDK-Dump is able to store on disk network traffic at high speed using DPDK library.
GNU General Public License v2.0
32 stars 27 forks source link

Error when creating mempool #2

Closed maxwellxxx closed 7 years ago

maxwellxxx commented 9 years ago

Hi, I got a error like this:

PMD: rte_cxgbe_pmd: 0000:81:00.4 Chelsio rev 0 1000/10GBASE-SFP PMD: rte_cxgbe_pmd: 0000:81:00.4 Chelsio rev 0 1000/10GBASE-SFP EAL: Error - exiting with code: 1 Cause: Cannot create cluster_mem_pool. Errno: 12 [ENOMEM: 12, ENOSPC: 28,E_RTE_NO_CONFIG: 1002, E_RTE_SECONDARY: 1001, EINVAL: 22, EEXIST: 17]

When I ran the l2fwd, there was on erros.

marty90 commented 9 years ago

Hi maxwellxxx. You see that error message because your system doesn't have enough free hugepages. There are 2 solutions possible:

  1. Reserve more hugepages in your system (if there is enough RAM on the machine). See point 4.1 in DPDK-Dump readme.
  2. Decrease the size of DPDK-Dump internal buffer with "-B" option. Default size is 1 Milion packets which means about 2GB of memory.
maxwellxxx commented 9 years ago

Hi~~ Thanks for your detailed answer, I have solved the problem. But I get another error, like this:

"PMD: rte_cxgbe_pmd: fw: 1.11.27.0, TP: 0.1.4.7 PMD: rte_cxgbe_pmd: Coming up as MASTER: Initializing adapter PMD: rte_cxgbe_pmd: adap_init0_config: Going for embedded config in firmware.. PMD: rte_cxgbe_pmd: Successfully configured using Firmware Configuration File "Firmware Default", version 0, computed checksum 0 PMD: rte_cxgbe_pmd: 0000:81:00.4 Chelsio rev 0 1000/10GBASE-SFP PMD: rte_cxgbe_pmd: 0000:81:00.4 Chelsio rev 0 1000/10GBASE-SFP Name:rte_cxgbe_pmd Driver name: rte_cxgbe_pmd Max rx queues: 2 Max tx queues: 2 PCI Adress: 0000:129:00:4 EAL: Error - exiting with code: 1 Cause: Error configuring receiving queue stats"

With the hugepages is 10240 and buffer size is 1048576. The Ram on my system is 128GB,

The doc of DPDK has no record of the error of rte_eth_dev_set_rx_queue_stats_mapping()...

marty90 commented 9 years ago

Strange: which version of DPDK are you using? which NICs are you using?

maxwellxxx commented 9 years ago

Hi, The version of DPDK is newest. And my NIC is "Chelsio T520-CR" which is supported by DPDK officially.

marty90 commented 9 years ago

Ok, this might be the problem. Install DPDK 1.8.0 ( http://dpdk.org/browse/dpdk/snapshot/dpdk-1.8.0.tar.gz ) In DPDK-Dump's readme you find the commands to install it.

maxwellxxx commented 9 years ago

OK. Thank you. I'll have a try. ^_^

promisechen commented 8 years ago

hi, buffer size is 1048576! !? I think it's too big for the value. and there is no need to set such a big.

marty90 commented 8 years ago

A hard disk (no solid state) has a long time of seek and rotation. Thus, the writing thread can freeze up to 0.5 seconds. The buffer should be able to store 10Gbps traffic for such time.

yinxu1000 commented 8 years ago

Hi, I met an error as follow:

PMD: eth_em_dev_init(): port_id 1 vendorID=0x8086 deviceID=0x100f EAL: Error - exiting with code: 1 Cause: Cannot create cluster_mem_pool. Errno: 12 [ENOMEM: 12, ENOSPC: 28, E_RTE_NO_TAILQ: 1003, E_RTE_NO_CONFIG: 1002, E_RTE_SECONDARY: 1001, EINVAL: 22, EEXIST: 17]

I found the solution of issue #2 and added -B. Now, A new error was appeared as follow:

EAL: TSC frequency is ~2893583 KHz EAL: Master core 0 is ready (tid=13d42800) PMD: ENICPMD trace: rte_enic_pmd_init EAL: Core 1 is ready (tid=8d9f2700) EAL: PCI device 0000:02:01.0 on NUMA socket -1 EAL: probe driver: 8086:100f rte_em_pmd EAL: 0000:02:01.0 not managed by UIO driver, skipping EAL: PCI device 0000:02:06.0 on NUMA socket -1 EAL: probe driver: 8086:100f rte_em_pmd EAL: PCI memory mapped at 0x7f9212800000 EAL: PCI memory mapped at 0x7f9212820000 PMD: eth_em_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x100f EAL: PCI device 0000:02:07.0 on NUMA socket -1 EAL: probe driver: 8086:100f rte_em_pmd EAL: PCI memory mapped at 0x7f9212830000 EAL: PCI memory mapped at 0x7f9212850000 PMD: eth_em_dev_init(): port_id 1 vendorID=0x8086 deviceID=0x100f Name:rte_em_pmd Driver name: rte_em_pmd Max rx queues: 1 Max tx queues: 1 PCI Adress: 0000:02:06:0 PMD: eth_em_rx_queue_setup(): sw_ring=0x7f9191aec000 hw_ring=0x7f91e2d93940 dma_addr=0x5b393940 EAL: Error - exiting with code: 1 Cause: Error configuring receiving queue stats

I use dpdk-1.8.0, ubuntu 12.04 in VMware and Intel Corporation 82545EM (). Can you help me?

marty90 commented 8 years ago

Unfortunately it is a bug of DPDK. For some NICs, _rte_eth_dev_set_rx_queue_statsmapping() fails. Try commenting line 324 of _src/maindump.c. It should work, let me know.

yinxu1000 commented 7 years ago

It works. Thank you for your help