From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 099DD5A29 for ; Tue, 20 Jan 2015 15:32:48 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP; 20 Jan 2015 06:32:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,434,1418112000"; d="scan'208";a="639866706" Received: from irsmsx110.ger.corp.intel.com ([163.33.3.25]) by orsmga001.jf.intel.com with ESMTP; 20 Jan 2015 06:32:46 -0800 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.28]) by irsmsx110.ger.corp.intel.com ([169.254.15.8]) with mapi id 14.03.0195.001; Tue, 20 Jan 2015 14:32:46 +0000 From: "O'driscoll, Tim" To: Neil Horman , "Iremonger, Bernard" Thread-Topic: [dpdk-dev] [PATCH v5 4/4] docs: Add ABI documentation Thread-Index: AQHQMaH4rt2tBkfnrkm0eLSoihWlD5zInkoAgABq8YCAAAz5gIAAAg2A Date: Tue, 20 Jan 2015 14:32:45 +0000 Message-ID: <26FA93C7ED1EAA44AB77D62FBE1D27BA54CA6491@IRSMSX102.ger.corp.intel.com> References: <1419109299-9603-1-git-send-email-nhorman@tuxdriver.com> <1421422389-5473-1-git-send-email-nhorman@tuxdriver.com> <1421422389-5473-4-git-send-email-nhorman@tuxdriver.com> <27877815.OT7ntq4yug@xps13> <8CEF83825BEC744B83065625E567D7C2049D9017@IRSMSX108.ger.corp.intel.com> <20150120142401.GA18449@hmsreliant.think-freely.org> In-Reply-To: <20150120142401.GA18449@hmsreliant.think-freely.org> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v5 4/4] docs: Add ABI documentation 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: Tue, 20 Jan 2015 14:32:49 -0000 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Neil Horman > Sent: Tuesday, January 20, 2015 2:24 PM > To: Iremonger, Bernard > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v5 4/4] docs: Add ABI documentation >=20 > On Tue, Jan 20, 2015 at 01:37:35PM +0000, Iremonger, Bernard wrote: > > > -----Original Message----- > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas > Monjalon > > > Sent: Tuesday, January 20, 2015 7:15 AM > > > To: Neil Horman > > > Cc: dev@dpdk.org > > > Subject: Re: [dpdk-dev] [PATCH v5 4/4] docs: Add ABI documentation > > > > > > Thank you Neil for writing this document. > > > This is a really important change in DPDK. > > > It would be very good to have comments or acknowledgement from > several developpers. This policy > > > would be enforced by having several Acked-by lines. > > > > > > > > > 2015-01-16 10:33, Neil Horman: > > > > Adding a document describing rudimentary ABI policy and adding noti= ce > > > > space for any deprecation announcements > > > > > > > > Signed-off-by: Neil Horman > > > > CC: Thomas Monjalon > > > > CC: "Richardson, Bruce" > > > > > > > > --- > > > > Change notes: > > > > > > > > v5) Updated documentation to add notes from Thomas M. > > > > --- > > > > doc/abi.txt | 36 ++++++++++++++++++++++++++++++++++++ > > > > 1 file changed, 36 insertions(+) > > > > create mode 100644 doc/abi.txt > > > > > > > > diff --git a/doc/abi.txt b/doc/abi.txt new file mode 100644 index > > > > 0000000..14be464 > > > > --- /dev/null > > > > +++ b/doc/abi.txt > > > > @@ -0,0 +1,36 @@ > > > > +ABI policy: > > > > + ABI versions are set at the time of major release labeling, and A= BI > > > > +may change multiple times between the last labeling and the HEAD > > > > +label of the git tree without warning > > > > + > > > > + ABI versions, once released are available until such time as thei= r > > > > +deprecation has been noted here for at least one major release cyc= le, > > > > +after it has been tagged. E.g. the ABI for DPDK 1.8 is shipped, a= nd > > > > +then the decision to remove it is made during the development of > DPDK > > > > +1.9. The decision will be recorded here, shipped with the DPDK 1.= 9 > > > > +release, and actually removed when DPDK > > > > +1.10 ships. > > > > + > > > > + ABI versions may be deprecated in whole, or in part as needed by = a > > > > +given update. > > > > + > > > > + Some ABI changes may be too significant to reasonably maintain > > > > +multiple versions of. In those events ABI's may be updated withou= t > > > > +backward compatibility provided. The requirements for doing so ar= e: > > > > + 1) At least 3 acknoweldgements of the need on the dpdk.org > > > > + 2) A full deprecation cycle must be made to offer downstream > > > > +consumers sufficient warning of the change. E.g. if dpdk 2.0 is > > > > +under development when the change is proposed, a deprecation > notice > > > > +must be added to this file, and released with dpdk 2.0. Then the > change may be incorporated for > > > dpdk 2.1 > > > > + 3) The LIBABIVER variable in the makefilei(s) where the ABI chang= es > > > > +are incorporated must be incremented in parallel with the ABI chan= ges > > > > +themselves > > > > + > > > > + Note that the above process for ABI deprecation should not be > > > > +undertaken lightly. ABI stability is extreemely important for > > > > +downstream consumers of the DPDK, especially when distributed in > > > > +shared object form. Every effort should be made to preserve ABI > > > > +whenever possible. For instance, reorganizing public structure fi= eld > > > > +for astetic or readability purposes should be avoided as it will > > > > +cause ABI breakage. Only significant (e.g. performance) reasons > should be seen as cause to alter > > > ABI. > > > > Hi Thomas, > > > > Should there be a reference to this document in the programmers guide? > > > Thats a good question. I think, as Thomas notes, it probably should be > referenced in some way. The programmers guide might be good. What > might be > better would be checking the deprecation notices and adding them to the > release > notes for any given release. >=20 > Thoughts? I'd suggest that the policy itself should go in, or at least be referenced = from, the programmer's guide. I agree that the deprecation notices themselv= es should go in the release notes. > Neil >=20 > > Regards, > > > > Bernard. > > > >