[dpdk-dev] rte_malloc_socket UNABLE to allocate 8GB.

2014-09-24 Thread Dmitry Vyal
Dear list, I'm experiencing problems allocating big chunks of memory with rte_malloc_socket. Basically, it successfully allocates 6GB but returns NULL when I try to allocate 8GB. I tried dpdk-1.5.1 and 1.7.1 and got similar behavior. First machine I was trying this on had 29*1GB hugepages on s

[dpdk-dev] SFP/SFP+ modules hotplugging question.

2014-08-11 Thread Dmitry Vyal
Dear mailing list, I have a question concerning SFP modules hotplugging. I made some experiments and want to confirm my findings. Looks like hotplug is basically supported out of the box, the only thing one has to do is to register callbacks for RTE_ETH_EVENT_INTR_LSC and avoid sending mbufs to

[dpdk-dev] Rx-errors with testpmd (only 75% line rate)

2014-01-28 Thread Dmitry Vyal
se a delay of about 150usecs. P.S. I wonder why this issue is not mentioned in documentation. Is it evident for everyone doing network programming? > > On Wed, Jan 22, 2014 at 9:52 AM, Dmitry Vyal <mailto:dmitryvyal at gmail.com>> wrote: > > Hello MIchael, >

[dpdk-dev] Rx-errors with testpmd (only 75% line rate)

2014-01-22 Thread Dmitry Vyal
Hello MIchael, I suggest you to check average burst sizes on receive queues. Looks like I stumbled upon a similar issue several times. If you are calling rte_eth_rx_burst too frequently, NIC begins losing packets no matter how many CPU horse power you have (more you have, more it loses, actuall

[dpdk-dev] DPDK delaying individual packets infinitely

2013-12-06 Thread Dmitry Vyal
Hello list, For some time I've been writing a custom packet generator coupled with a packet receiver using DPDK. It works greatly when used for generating millions of packets, but unexpectedly It has troubles generating a several dozens of packets or so. The application consists of two thread

[dpdk-dev] Sporadic errors while initializing NICs in example applications, dpdk-1.5.0r1

2013-12-06 Thread Dmitry Vyal
On 11/29/2013 04:39 PM, Thomas Monjalon wrote: > 29/11/2013 13:25, Thomas Monjalon : > > Please check that your hardware do not support invariant TSC. > It would explain why you need to fix frequency. > > I attach a simple code to test CPU feature "Invariant TSC". I compiled and ran the code on al

[dpdk-dev] Sporadic errors while initializing NICs in example applications, dpdk-1.5.0r1

2013-11-29 Thread Dmitry Vyal
Hmm, that's strange. I don't know how to interpret my observations then. I have access to two platforms, one is based on Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz and another on Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz. Both running ubuntu-12.04 server. I see repeating errors on NIC initialisa

[dpdk-dev] Sporadic errors while initializing NICs in example applications, dpdk-1.5.0r1

2013-11-27 Thread Dmitry Vyal
> 22/11/2013 13:29, Dmitry Vyal : >> EAL: PCI device :02:00.0 on NUMA socket -1 >> EAL: probe driver: 8086:10fb rte_ixgbe_pmd >> EAL: PCI memory mapped at 0x7f6b83687000 >> EAL: PCI memory mapped at 0x7f6b83683000 >> EAL: PCI device :02:00.1 on

[dpdk-dev] Sporadic errors while initializing NICs in example applications, dpdk-1.5.0r1

2013-11-22 Thread Dmitry Vyal
Hi, I'm experiencing weird problems with running dpdk examples on my server running ubuntu-12.04. Application either manages to use ethernet ports or doesn't. For example, this is results of two identical sequental runs of l2fwd: *

[dpdk-dev] Thread preemption and rte_ring

2013-11-05 Thread Dmitry Vyal
Hello, Documentation for rte_ring says: the ring implementation is not preemptable. A lcore must not be interrupted by another task that uses the same ring. What does it precisely mean? Must all the producers and consumers be non-preemptive? Can we relax that restriction somehow? Say, can I ha

[dpdk-dev] dropped packet count

2013-10-09 Thread Dmitry Vyal
Hi John, take a look at void rte_eth_stats_get(uint8_t /port_id/, struct rte_eth_stats */stats);/ http://dpdk.org/doc/api/rte__ethdev_8h.html#aac7b274a66c959f827a0750eaf22a5cb The structure it fills has a member q_errors which seems to be wh

[dpdk-dev] How to fight forwarding performance regression on large mempool sizes.

2013-09-22 Thread Dmitry Vyal
On 09/20/2013 07:34 PM, Robert Sanford wrote: > One more point, if you're not doing this already: Allocate 2^N-1 > mbufs, not 2^N. According to the code and comments: "The optimum size > (in terms of memory usage) for a mempool is when n is a power of two > minus one: n = (2^q - 1)." > Many than

[dpdk-dev] How to fight forwarding performance regression on large mempool sizes.

2013-09-20 Thread Dmitry Vyal
On 09/19/2013 11:43 PM, Venkatesan, Venky wrote: > Dmitry, > One other question - what version of DPDK are you doing on? > -Venky > It's DPDK-1.3.1-7 downloaded from intel.com. Should I try upgrading?

[dpdk-dev] How to fight forwarding performance regression on large mempool sizes.

2013-09-20 Thread Dmitry Vyal
On 09/19/2013 11:39 PM, Robert Sanford wrote: > Hi Dmitry, > > The biggest drop-off seems to be from size 128K to 256K. Are you using > 1GB huge pages already (rather than 2MB)? > > I would think that it would not use over 1GB until you ask for 512K > mbufs or more. > Hi Robert, Yes, I've been

[dpdk-dev] How to fight forwarding performance regression on large mempool sizes.

2013-09-19 Thread Dmitry Vyal
Good day everyone, While working on IP packet defragmenting I had to enlarge mempool size. I did this to provide large enough time window for assembling a fragment sequence. Unfortunately, I got a performance regression: if I enlarge mempool size from 2**12 to 2**20 MBufs, packet performance fo

[dpdk-dev] Looks like rte_mempool_free_count() and rte_mempool_count() are swapped

2013-09-12 Thread Dmitry Vyal
Greetings. I had a suspect I run into a mbuf depletion issue and decided to check using rte_mempool_free_count(). To my surprise, it returned a value equal to mempool size. I tried calling rte_mempool_count() and it returned zero. I inspected the code in dpdk-1.3.1-7 and dpdk.1.4.1-4: rte_mem

[dpdk-dev] How to free a ring?

2013-09-11 Thread Dmitry Vyal
On 09/11/2013 11:46 AM, AndyChen wrote: > Dpdk hasn't API to free ring/memzone/mempool, what's the scene you > must free the ring? > Well, I'm writing a packet defragmenting code. I have a data structure consisting of a rte_hash, a rte_ring and an array allocated with rte_zmalloc. All these besi

[dpdk-dev] How to free a ring?

2013-09-11 Thread Dmitry Vyal
Hello all. Is there a way to deallocate an rte_ring? Maybe I'm missing something, but I can't find an API function for that at http://dpdk.org/doc/api/rte__ring_8h.html Regards, Dmitry

[dpdk-dev] Recommended method of getting timestamps?

2013-09-06 Thread Dmitry Vyal
Hello Patrick, I guess gettimeofday is too heavy if all you need is an abstract timestamp not related to any particular calendar. I think you should look at rte_rdtsc()? It returns a current value of CPU tick counter. So it's very cheap (just a few clocks) and has a great resolution (a fractio

[dpdk-dev] Any ideas how to stop DPDK from banning me from the box.

2013-07-19 Thread Dmitry Vyal
Hi Marco, thanks for posting the example I carefully composed mine using your as a basis and, guess, all works I don't have the exact cmdline I issued yesterday. Looks like bash didn't have a chance to save history But I guess I put all the -b options after the -- delimiter so they weren't par

[dpdk-dev] Any ideas how to stop DPDK from banning me from the box.

2013-07-18 Thread Dmitry Vyal
rcome this? Best regards, Dmitry Vyal.