From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: Is it possible to have dpdk running with no dependency on a nic ? Date: Sun, 16 Feb 2014 11:02:41 -0800 Message-ID: <20140216110241.0e789750@nehalam.linuxnetplumber.net> References: <5D695A7F6F10504DBD9B9187395A21797C6E384A@ORSMSX103.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "dev-VfR2kkLFssw@public.gmane.org" To: Ymo Lists Return-path: In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On Fri, 14 Feb 2014 15:11:29 -0500 Ymo Lists wrote: > "Enqueuing and dequeuing items from an rte_ring using the rings-based PMD > may be slower than using the native rings API. This is because Intel=AE D= PDK > Ethernet drivers make use of function pointers to call the appropriate > enqueue or dequeue functions, while the rte_ring specific functions are > direct function calls in the code and are often inlined by the compiler." >=20 > Is that statement correct ? I would imagine that inlined code would be be > faster than using function pointers ? Actually, the Intel DPDK has a bad case of inlineitis. The code for ring's and other parts use inline on largish functions which bloats the code witho= ut any perceivable gain in performance. The larger code causes more cache miss= es which actually hurt performance. Also using GCC link time optimization hel= ps to reduce any need for inlining larger code bits.