From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id 90FF3DE3 for ; Wed, 3 Feb 2016 18:24:11 +0100 (CET) Received: from [10.16.0.195] (unknown [10.16.0.195]) by proxy.6wind.com (Postfix) with ESMTP id F060B250BC; Wed, 3 Feb 2016 18:23:27 +0100 (CET) Message-ID: <56B237AD.1040209@6wind.com> Date: Wed, 03 Feb 2016 18:23:57 +0100 From: Olivier MATZ User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0 MIME-Version: 1.0 To: Panu Matilainen , Huawei Xie , dev@dpdk.org References: <1450049754-33635-1-git-send-email-huawei.xie@intel.com> <1453827815-56384-1-git-send-email-huawei.xie@intel.com> <1453827815-56384-2-git-send-email-huawei.xie@intel.com> <56A8CCA3.7060302@redhat.com> In-Reply-To: <56A8CCA3.7060302@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: dprovan@bivio.net Subject: Re: [dpdk-dev] [PATCH v6 1/2] mbuf: provide rte_pktmbuf_alloc_bulk API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Feb 2016 17:24:11 -0000 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