Re: [PATCH v6 1/2] mbuf: provide rte_pktmbuf_alloc_bulk API
From: Olivier MATZ <hidden>
Date: 2016-02-03 17:24:11
Hi, On 01/27/2016 02:56 PM, Panu Matilainen wrote:
Since rte_pktmbuf_alloc_bulk() is an inline function, it is not part of the library ABI and should not be listed in the version map. I assume its inline for performance reasons, but then you lose the benefits of dynamic linking such as ability to fix bugs and/or improve itby just updating the library. Since the point of having a bulk API is to improve performance by reducing the number of calls required, does it really have to be inline? As in, have you actually measured the difference between inline and non-inline and decided its worth all the downsides?
Agree with Panu. It would be interesting to compare the performance between inline and non inline to decide whether inlining it or not. Also, it would be nice to have a simple test function in app/test/test_mbuf.c. For instance, you could update test_one_pktmbuf() to take a mbuf pointer as a parameter and remove the mbuf allocation from the function. Then it could be called with a mbuf allocated with rte_pktmbuf_alloc() (like before) and with all the mbufs of rte_pktmbuf_alloc_bulk(). Regards, Olivier