From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Matz Subject: Re: [PATCH v3 1/2] mbuf: support attaching external buffer to mbuf Date: Tue, 24 Apr 2018 17:36:26 +0200 Message-ID: <20180424153626.d5optllfbarzu457@neon> References: <20180310012532.15809-1-yskoh@mellanox.com> <20180419011105.9694-1-yskoh@mellanox.com> <20180423161843.tg2b23cl7ewoflj3@platinum> <20180424012948.GA81551@yongseok-MBP.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: wenzhuo.lu@intel.com, jingjing.wu@intel.com, dev@dpdk.org, konstantin.ananyev@intel.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com To: Yongseok Koh Return-path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 6CBB3343F for ; Tue, 24 Apr 2018 17:36:31 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20180424012948.GA81551@yongseok-MBP.local> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi, On Mon, Apr 23, 2018 at 06:29:57PM -0700, Yongseok Koh wrote: > On Mon, Apr 23, 2018 at 06:18:43PM +0200, Olivier Matz wrote: > > I'm a bit afraid about ABI breakage, we need to check that a > > 18.02-compiled application still works well with this change. > > I had the same concern so I made rte_pktmbuf_attach_extbuf() __rte_experimental. > Although this new ol_flag is introduced, it can only be set by the new API and > the rest of changes won't be effective unless this flag is set. > RTE_MBUF_HAS_EXTBUF() will always be false if -DALLOW_EXPERIMENTAL_API isn't > specified or rte_pktmbuf_attach_extbuf() isn't called. And there's no change > needed in a C file. For this reason, I don't think there's ABI breakage. > > Sounds correct? Hmm, imagine you compile an application on top of 18.02. Then, you update your dpdk libraries to 18.05. The mlx driver may send mbufs pointing to an external buffer to the application. When the application will call the mbuf free function, it will probably not do the expected work, because most of the functions involved are inline. So, to me this is an ABI breakage. This is not a technical issue, since the ABI of mbuf will already be broken this release (control mbuf removed). This is more a process question, because an ABI breakage and its area should be announced. Olivier