dev.dpdk.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [PATCH v5 4/4] docs: Add ABI documentation
Date: Tue, 20 Jan 2015 08:14:50 +0100	[thread overview]
Message-ID: <27877815.OT7ntq4yug@xps13> (raw)
In-Reply-To: <1421422389-5473-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>

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 notice space for
> any deprecation announcements
> 
> Signed-off-by: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
> CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
> CC: "Richardson, Bruce" <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> 
> ---
> 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 ABI 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 their
> +deprecation has been noted here for at least one major release cycle, after it
> +has been tagged.  E.g. the ABI for DPDK 1.8 is shipped, and 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 without backward
> +compatibility provided.  The requirements for doing so are:
> +	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 changes are
> +incorporated must be incremented in parallel with the ABI changes 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 field 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.

  parent reply	other threads:[~2015-01-20  7:14 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-20 21:01 Add DSO symbol versioning to supportbackwards compatibility Neil Horman
     [not found] ` <1419109299-9603-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-20 21:01   ` [PATCH 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
     [not found]     ` <1419109299-9603-2-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-22 14:01       ` Gonzalez Monroy, Sergio
     [not found]         ` <91383E96CE459D47BCE92EFBF5CE73B004F20D71-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-22 16:22           ` Neil Horman
2014-12-22 16:34           ` Neil Horman
     [not found]             ` <20141222163453.GD26669-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-12-22 17:09               ` Gonzalez Monroy, Sergio
     [not found]                 ` <91383E96CE459D47BCE92EFBF5CE73B004F20DD4-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-22 19:00                   ` Neil Horman
     [not found]                     ` <20141222190017.GF26669-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-12-22 20:04                       ` Neil Horman
2014-12-20 21:01   ` [PATCH 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2014-12-20 21:01   ` [PATCH 3/4] Add library version extenstion Neil Horman
2014-12-20 21:01   ` [PATCH 4/4] docs: Add ABI documentation Neil Horman
2014-12-22 20:24   ` [PATCH v2 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
     [not found]     ` <1419279860-16985-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-22 20:24       ` [PATCH v2 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2014-12-22 20:24       ` [PATCH v2 3/4] Add library version extenstion Neil Horman
     [not found]         ` <1419279860-16985-3-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-23 13:05           ` Gonzalez Monroy, Sergio
     [not found]             ` <91383E96CE459D47BCE92EFBF5CE73B004F210AA-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-23 15:50               ` Neil Horman
2014-12-22 20:24       ` [PATCH v2 4/4] docs: Add ABI documentation Neil Horman
     [not found]         ` <1419279860-16985-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-23  9:48           ` Iremonger, Bernard
     [not found]             ` <8CEF83825BEC744B83065625E567D7C2049CBDB3-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-23 13:01               ` Neil Horman
2014-12-23 13:27       ` [PATCH v2 1/4] compat: Add infrastructure to support symbol versioning Gonzalez Monroy, Sergio
     [not found]         ` <91383E96CE459D47BCE92EFBF5CE73B004F210D1-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-23 15:50           ` Neil Horman
2014-12-23 15:51   ` [PATCH v3 " Neil Horman
     [not found]     ` <1419349913-21674-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-23 15:51       ` [PATCH v3 2/4] Provide initial versioning for all DPDK libraries Neil Horman
     [not found]         ` <1419349913-21674-2-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-29 16:21           ` Sergio Gonzalez Monroy
2015-01-14 15:29           ` Thomas Monjalon
2015-01-14 16:24             ` Neil Horman
2014-12-23 15:51       ` [PATCH v3 3/4] Add library version extenstion Neil Horman
     [not found]         ` <1419349913-21674-3-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-23 16:44           ` Gonzalez Monroy, Sergio
     [not found]             ` <91383E96CE459D47BCE92EFBF5CE73B004F21155-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-23 17:08               ` Neil Horman
2014-12-29 16:23           ` Sergio Gonzalez Monroy
2015-01-14 15:48           ` Thomas Monjalon
2014-12-23 15:51       ` [PATCH v3 4/4] docs: Add ABI documentation Neil Horman
     [not found]         ` <1419349913-21674-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-29 16:24           ` Sergio Gonzalez Monroy
2015-01-14 15:59           ` Thomas Monjalon
2015-01-14 20:07             ` Neil Horman
     [not found]               ` <20150114200729.GB28492-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-01-16 13:34                 ` Thomas Monjalon
2014-12-29 16:20       ` [PATCH v3 1/4] compat: Add infrastructure to support symbol versioning Sergio Gonzalez Monroy
2015-01-14 15:25       ` Thomas Monjalon
2015-01-14 20:29         ` Neil Horman
2015-01-09 12:35   ` Add DSO symbol versioning to supportbackwards compatibility Neil Horman
2015-01-15 19:35   ` [PATCH v4 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
     [not found]     ` <1421350516-10628-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-15 19:35       ` [PATCH v4 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2015-01-15 19:35       ` [PATCH v4 3/4] Add library version extenstion Neil Horman
2015-01-15 19:35       ` [PATCH v4 4/4] docs: Add ABI documentation Neil Horman
2015-01-30 17:13       ` [PATCH v4 1/4] compat: Add infrastructure to support symbol versioning Gray, Mark D
2015-01-16 15:33   ` [PATCH v5 " Neil Horman
     [not found]     ` <1421422389-5473-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-16 15:33       ` [PATCH v5 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2015-01-16 15:33       ` [PATCH v5 3/4] Add library version extenstion Neil Horman
2015-01-16 15:33       ` [PATCH v5 4/4] docs: Add ABI documentation Neil Horman
     [not found]         ` <1421422389-5473-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-20  7:14           ` Thomas Monjalon [this message]
2015-01-20 10:47             ` Bruce Richardson
2015-01-20 13:37             ` Iremonger, Bernard
     [not found]               ` <8CEF83825BEC744B83065625E567D7C2049D9017-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-01-20 13:46                 ` Thomas Monjalon
2015-01-20 14:24                 ` Neil Horman
     [not found]                   ` <20150120142401.GA18449-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-01-20 14:29                     ` Butler, Siobhan A
     [not found]                       ` <0C5AFCA4B3408848ADF2A3073F7D8CC86D4BF204-kPTMFJFq+rHjxeytcECX8bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-01-20 14:41                         ` Neil Horman
     [not found]                           ` <20150120144156.GC18449-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-01-20 14:50                             ` Butler, Siobhan A
     [not found]                               ` <0C5AFCA4B3408848ADF2A3073F7D8CC86D4BF2B4-kPTMFJFq+rHjxeytcECX8bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-01-20 15:30                                 ` Neil Horman
2015-01-20 14:32                     ` O'driscoll, Tim
2015-01-20 14:00           ` Thomas Monjalon
2015-01-20 14:37             ` Neil Horman
     [not found]               ` <20150120143737.GB18449-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-01-20 15:06                 ` Thomas Monjalon
2015-01-20 15:35                   ` Neil Horman
2015-01-20 21:17   ` [PATCH v6 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
     [not found]     ` <1421788679-9433-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-20 21:17       ` [PATCH v6 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2015-01-20 21:17       ` [PATCH v6 3/4] Add library version extenstion Neil Horman
2015-01-20 21:17       ` [PATCH v6 4/4] docs: Add ABI documentation Neil Horman
     [not found]         ` <1421788679-9433-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-21 10:13           ` Iremonger, Bernard
2015-01-21 10:25           ` Thomas Monjalon
2015-01-21 14:59             ` Neil Horman
     [not found]               ` <20150121145901.GA18943-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2015-01-21 16:05                 ` Thomas Monjalon
2015-01-21 19:43                   ` Neil Horman
     [not found]                     ` <20150121194304.GA32617-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2015-01-21 22:24                       ` Thomas Monjalon
2015-01-22 19:21                         ` Neil Horman
2015-01-21 20:57   ` [PATCH v7 01/26] version: 2.0.0-rc0 Neil Horman
     [not found]     ` <1421873870-21754-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-21 20:57       ` [PATCH v7 02/26] mk: fix link to static combined library Neil Horman
2015-01-21 20:57       ` [PATCH v7 03/26] eal: fix check for power of 2 in 0 case Neil Horman
2015-01-21 20:57       ` [PATCH v7 04/26] ethdev: fix missing parenthesis in mac check Neil Horman
2015-01-21 20:57       ` [PATCH v7 05/26] mem: search only dpdk hugetlbfs maps Neil Horman
2015-01-21 20:57       ` [PATCH v7 06/26] log: remove unnecessary stubs Neil Horman
2015-01-21 20:57       ` [PATCH v7 07/26] vfio: avoid enabling while the module is not loaded Neil Horman
2015-01-21 20:57       ` [PATCH v7 08/26] bond: fix vlan flag interpretation Neil Horman
2015-01-21 20:57       ` [PATCH v7 09/26] app/testpmd: remove duplicated function for list parsing Neil Horman
2015-01-21 20:57       ` [PATCH v7 10/26] nic_uio: fix thread structure compatibility for future FreeBSD Neil Horman
2015-01-21 20:58       ` [PATCH v7 01/26] version: 2.0.0-rc0 Neil Horman
2015-01-21 20:59   ` [PATCH v7 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
     [not found]     ` <1421873986-21912-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-21 20:59       ` [PATCH v7 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2015-01-21 20:59       ` [PATCH v7 3/4] Add library version extenstion Neil Horman
2015-01-21 20:59       ` [PATCH v7 4/4] docs: Add ABI documentation Neil Horman
     [not found]         ` <1421873986-21912-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-22 10:56           ` Iremonger, Bernard
     [not found]             ` <8CEF83825BEC744B83065625E567D7C2049D98D9-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-01-22 15:37               ` Neil Horman
2015-01-22 15:49   ` [PATCH v8 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
     [not found]     ` <1421941756-30948-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-22 15:49       ` [PATCH v8 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2015-01-22 15:49       ` [PATCH v8 3/4] Add library version extenstion Neil Horman
2015-01-22 15:49       ` [PATCH v8 4/4] docs: Add ABI documentation Neil Horman
     [not found]         ` <1421941756-30948-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-01-22 16:46           ` Butler, Siobhan A
2015-02-02 16:52           ` Thomas Monjalon
2015-02-02 17:21             ` Neil Horman
2015-02-02 16:41       ` [PATCH v8 1/4] compat: Add infrastructure to support symbol versioning Thomas Monjalon
2015-02-02 17:30         ` Neil Horman
2015-02-02 17:40   ` [PATCH v9 " Neil Horman
     [not found]     ` <1422898822-16422-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-02-02 17:40       ` [PATCH v9 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2015-02-02 17:40       ` [PATCH v9 3/4] Add library version extenstion Neil Horman
2015-02-02 17:40       ` [PATCH v9 4/4] docs: Add ABI documentation Neil Horman
     [not found]         ` <1422898822-16422-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2015-02-03 15:24           ` Thomas Monjalon
2015-02-03 16:01   ` Add DSO symbol versioning to supportbackwards compatibility Thomas Monjalon
2015-02-03 20:20     ` Neil Horman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=27877815.OT7ntq4yug@xps13 \
    --to=thomas.monjalon-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).