Hi Vlad, On Wed, 1 Feb 2017 16:54:57 +0000, Vlad.Lazarenko at worldquant.com (Lazarenko, Vlad (WorldQuant)) wrote: > Hello, > > I'm new to DPDK and have noticed that documentation for > rte_mempool_create states that the optimal size for a number of > elements in the pool is n = (2^q-1). But in many examples it is > simply set to 2^q (multi_process/simple_mp/main.c uses 2014, for > example). This is a bit confusing. Is 2^q - 1 really the optimal > number but examples don't use it, or maybe the documentation for the > mempool is wrong, or...? If anyone could shed some light on this > that'd be helpful.
That's true for rte_mempool based on a rte_ring (this is the default, but since recently, it's possible to use another handler). The size of a rte_ring is (2^n - 1), because one element in the ring is reserved to distinguish between a full an an empty ring. So, when a mempool uses a ring, if we ask for 2^n elements, a ring of size (2^(n+1) - 1) is created, which can consume additional memory. On the other hand, the mempool object size is often much larger than a ring entry (usually 8 bytes, the size of a pointer), especially knowing that by default, the objects are cache aligned (usually 64 bytes). So we may remove this note in the future since it's not very relevant. Regards, Olivier > > ################################################################################### > > The information contained in this communication is confidential, may > be > > subject to legal privilege, and is intended only for the individual > named. > > If you are not the named addressee, please notify the sender > immediately and > > delete this email from your system. The views expressed in this > email are > > the views of the sender only. Outgoing and incoming electronic > communications > > to this address are electronically archived and subject to review > and/or disclosure > > to someone other than the recipient. > > ################################################################################### You can remove this confidential notice for public mailing list :)
