From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DBA60C10F11 for ; Sun, 14 Apr 2019 00:42:41 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 84C432148E for ; Sun, 14 Apr 2019 00:42:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 84C432148E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tuxdriver.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C194C54AE; Sun, 14 Apr 2019 02:42:38 +0200 (CEST) Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id D1EAA44C3 for ; Sun, 14 Apr 2019 02:42:35 +0200 (CEST) Received: from cpe-2606-a000-111b-405a-0-0-0-188a.dyn6.twc.com ([2606:a000:111b:405a::188a] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1hFTE6-0000vc-LE; Sat, 13 Apr 2019 20:42:33 -0400 Date: Sat, 13 Apr 2019 20:42:02 -0400 From: Neil Horman To: Ray Kinsella Cc: dev@dpdk.org Message-ID: <20190414004202.GA29726@hmswarspite.think-freely.org> References: <455a61b4-891d-eaaf-d784-2be884bcacbd@intel.com> <7166381.CkH77a7QuE@xps> <5e27f573-bbf5-30f1-73ee-d35fc5191632@ashroe.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5e27f573-bbf5-30f1-73ee-d35fc5191632@ashroe.eu> User-Agent: Mutt/1.11.3 (2019-02-01) Subject: Re: [dpdk-dev] [dpdk-techboard] DPDK ABI/API Stability X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Apr 08, 2019 at 10:04:21AM +0100, Ray Kinsella wrote: > On 07/04/2019 10:48, Thomas Monjalon wrote: > > 04/04/2019 16:07, Burakov, Anatoly: > >> On 04-Apr-19 1:52 PM, Ray Kinsella wrote: > >>> On 04/04/2019 11:54, Bruce Richardson wrote: > >>>> On Thu, Apr 04, 2019 at 10:29:19AM +0100, Burakov, Anatoly wrote: > >>>>> On 03-Apr-19 4:42 PM, Ray Kinsella wrote: > [SNIP] > >> So, if we are to cement our core API - we have to make a concrete effort > >> to specify what goes and what stays, if we want it to be maintainable. > >> The DPDK 1.0 specification, if you will :) > > > > "DPDK 1.0 specification", that's a great project name :-) > > > > Honestly - I would say that I am nervous of this. > > The definition of a DPDK 1.0 specification as a gate to API stability, > feels like a "great plan tomorrow" instead of a "good plan" today. I > think that getting people to dedicate time to such a specification might > prove problematic and I could see this effort being very time consuming. > It might never get completed. > > My preference would be to instead adopt a well-publicised community > timeline for adopting more conservative API maintenance rules. > > Perhaps we could give ourselves as a community a time-limited window in > which to address concerns around the API before they become hardened - > perhaps say until DPDK 19.11 LTS, or something of the order of 6 months > to 9 months. > > We then would know the timeline when niggles like exposure of internal > structures and mbuf structure needed to be sorted by and could > prioritize accordingly. > > Ray K I'm hesitant to say this, because I'm not usually a fan of throwing up barricades to progress, but might some level of CI integration be useful here? Part of the problem, as I've seen it (and I think you've noted previously in this thread), is that ABI stability just hasn't been a priority, and not something that developers look at when making changes, nor when reviewers review patches. When I wrote the early ABI checking tools for DPDK, while the reaction was generally positive (I think), the results were informational, and treated as such (something to take note of perhaps, but something that could be ignored if there were more pressing issues). Perhaps a concrete step might be to run the ABI checker during a CI run on every commit, and block acceptance of a patch if it modifies the ABI. That would at least put a procedural break in ABI modification without clear approval from the board. Neil