You are welcome !
Even if you insert packets in batch into a fifo, the mutex is still unpredictable. If one pthread_lock costs 1ms, you are going to lose packets, regardless of the number of RSS queues and ring sizes Batching comes with another issue: need to flush a batch after a certain timeout if you do not have packets. Userland timer resolution is such that you are introducing port to port latency quite a lot: DPDK native, you can manage to get a 2?s latency (including PCI express), while with batch it may be 1ms You may find smarter algorithms but still you will be an order of magnitude higher than DPDK. Hope this helps. Fran?ois-Fr?d?ric De : Sambath Kumar Balasubramanian [mailto:sambath.balasubramanian at gmail.com] Envoy? : mercredi 4 d?cembre 2013 15:01 ? : Fran?ois-Fr?d?ric Ozog Cc : dev at dpdk.org Objet : Re: [dpdk-dev] Question on the Ring Library Thanks Fran?ois-Fr?d?ric. That puts real good perspective on the cost for the vent assuming each packet in the fast will result in an event. If event rate is orders of magnitude less than the packet rate, then I guess we can still achieve 10G since the "extra cost" will be in the event thread and not in the fast path thread. Regards, Sambath