* [dpdk-dev] RFC: DPDK Long Term Support @ 2016-06-03 15:07 Mcnamara, John 2016-06-03 16:05 ` Thomas Monjalon ` (4 more replies) 0 siblings, 5 replies; 20+ messages in thread From: Mcnamara, John @ 2016-06-03 15:07 UTC (permalink / raw) To: dev; +Cc: Christian Ehrhardt, Markos Chandras, Panu Matilainen Introduction ------------ This document sets out a proposal for a DPDK Long Term Support release (LTS). The purpose of the DPDK LTS will be to maintain a stable release of DPDK with backported bug fixes over an extended period of time. This will provide downstream consumers of DPDK with a stable target on which to base applications or packages. As with previous DPDK guidelines this proposal is open for discussion within the community. The consensus view will be included in the DPDK documentation as a guideline. LTS Maintainer -------------- The proposed maintainer for the LTS is Yuanhan Liu <yuanhan.liu@linux.intel.com>. LTS Duration ------------ The proposed duration of the LTS support is 2 years. There will only be one LTS branch being maintained at any time. At the end of the 2 year cycle the maintenance on the previous LTS will be wound down. LTS Version ------------ The proposed initial LTS version will be DPDK 16.07. The next versions, based on a 2 year cycle, will be DPDK 18.08, 20.08, etc. What changes should be backported --------------------------------- * Bug fixes that don't break the ABI. What changes should not be backported ------------------------------------- * API or ABI breaking changes. * Features should not be backported. Unless: * There is a justifiable use case (for example a new PMD). * The change is non-invasive. * The work of preparing the backport is done by the proposer. * There is support within the community. Role of the maintainer ---------------------- * The maintainer will evaluate fixes to the DPDK master submitted by the fixing developer and apply them to the LTS branch/tree. * The maintainer will evaluate backported patches from downstream consumers and apply them to the LTS branch/tree. * The maintainer will not backport non-trivial fixes without assistance from the downstream consumers or requester. Role of the downstream consumers -------------------------------- Developers submitting fixes to the mainline should also CC the maintainer so that they can evaluate the patch. A <stable@dpdk.org> email address could be provided for this so that it can be included as a CC in the commit messages and documented in the Code Contribution Guidelines. The downstream consumers (OSVs and DPDK dependent application and framework developers) should identify issues in the field that have been fixed in the mainline release and report them to the maintainer. They should, ideally, assist with backporting any required fixes. Testing ------- Intel will provide validation engineers to test the LTS branch/tree. Tested releases can be marked using a Git tag with an incremented revision number. For example: 16.07.00_LTS -> 16.07.01_LTS. The testing cadence should be quarterly but will be best effort only and dependent on available resources. Validated OSes -------------- In order to reduce the testing effort the number of OSes which will be officially validated should be as small as possible. The proposal is that the following long term OSes are used for validation: (OSV reps please confirm.) * Ubuntu 16.04 LTS * RHEL 7.3 * SuSE 11 SP4 or 12 * FreeBSD 10.3 Fixes for newer OSes, kernels (and associated KNI fixes), and newer GCC/Clang versions can be backported but the validation effort will be limited to the above platforms. Release Notes ------------- The LTS release notes should be updated to include a section with backported fixes. Patches for backporting should include additions to the release notes like patches to the mainline branch. LTS Review ---------- The LTS guidelines shall be reviewed after 1 year to adjust for any experiences from LTS maintainership. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 15:07 [dpdk-dev] RFC: DPDK Long Term Support Mcnamara, John @ 2016-06-03 16:05 ` Thomas Monjalon 2016-06-06 11:49 ` Yuanhan Liu 2016-06-07 13:17 ` Mcnamara, John 2016-06-03 18:17 ` Matthew Hall ` (3 subsequent siblings) 4 siblings, 2 replies; 20+ messages in thread From: Thomas Monjalon @ 2016-06-03 16:05 UTC (permalink / raw) To: Mcnamara, John; +Cc: dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen Hi, 2016-06-03 15:07, Mcnamara, John: > Introduction > ------------ > > This document sets out a proposal for a DPDK Long Term Support release (LTS). In general, LTS refer to a longer maintenance than than regular one. Here we are talking to doing some maintenance as stable releases first. Currently we have no maintenance at all. So I suggest to differentiate "stable branches" and "LTS" for some stable branches. > The purpose of the DPDK LTS will be to maintain a stable release of DPDK with > backported bug fixes over an extended period of time. This will provide > downstream consumers of DPDK with a stable target on which to base > applications or packages. [...] > The proposed maintainer for the LTS is Yuanhan Liu > <yuanhan.liu@linux.intel.com>. I wonder if Yuanhan is OK to maintain every stable releases which could be requested/needed? Or should we have other committers for the stable releases that Yuanhan would not want to maintain himself? The Linux model is to let people declare themselves when they want to maintain a stable branch. > The proposed duration of the LTS support is 2 years. I think we should discuss the support duration for each release separately. > There will only be one LTS branch being maintained at any time. At the end of > the 2 year cycle the maintenance on the previous LTS will be wound down. Seems a bit too restrictive. Currently, there is no maintenance at all because nobody was volunteer. If Yuanhan is volunteer for a stable branch every 2 years, fine. If someone else is volunteer for other branches, why not let him do it? > The proposed initial LTS version will be DPDK 16.07. The next versions, based > on a 2 year cycle, will be DPDK 18.08, 20.08, etc. Let's do a first run with 16.07 and see later what we want to do next. How long time a stable branch must be announced before its initial release? > What changes should be backported > --------------------------------- > > * Bug fixes that don't break the ABI. And API? And behaviour (if not clearly documented in the API)? [...] > Developers submitting fixes to the mainline should also CC the maintainer so > that they can evaluate the patch. A <stable@dpdk.org> email address could be > provided for this so that it can be included as a CC in the commit messages > and documented in the Code Contribution Guidelines. Why? We must avoid putting too much restrictions on the contributors. > Intel will provide validation engineers to test the LTS branch/tree. Tested > releases can be marked using a Git tag with an incremented revision number. For > example: 16.07.00_LTS -> 16.07.01_LTS. The testing cadence should be quarterly > but will be best effort only and dependent on available resources. Thanks It must not be just a tag. There should be an announce and a tarball ready to download. [...] > In order to reduce the testing effort the number of OSes which will be > officially validated should be as small as possible. The proposal is that the > following long term OSes are used for validation: > > (OSV reps please confirm.) > > * Ubuntu 16.04 LTS > * RHEL 7.3 > * SuSE 11 SP4 or 12 > * FreeBSD 10.3 I'm sure there will be more validation on the field or from contributors. [...] > The LTS guidelines shall be reviewed after 1 year to adjust for any experiences > from LTS maintainership. Yes seems very reasonnable. Thanks ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 16:05 ` Thomas Monjalon @ 2016-06-06 11:49 ` Yuanhan Liu 2016-06-06 13:31 ` Thomas Monjalon 2016-06-07 13:17 ` Mcnamara, John 1 sibling, 1 reply; 20+ messages in thread From: Yuanhan Liu @ 2016-06-06 11:49 UTC (permalink / raw) To: Thomas Monjalon Cc: Mcnamara, John, dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen On Fri, Jun 03, 2016 at 06:05:15PM +0200, Thomas Monjalon wrote: > Hi, > > 2016-06-03 15:07, Mcnamara, John: > > Introduction > > ------------ > > > > This document sets out a proposal for a DPDK Long Term Support release (LTS). > > In general, LTS refer to a longer maintenance than than regular one. > Here we are talking to doing some maintenance as stable releases first. > Currently we have no maintenance at all. > So I suggest to differentiate "stable branches" and "LTS" for some stable branches. > > > The purpose of the DPDK LTS will be to maintain a stable release of DPDK with > > backported bug fixes over an extended period of time. This will provide > > downstream consumers of DPDK with a stable target on which to base > > applications or packages. > [...] > > The proposed maintainer for the LTS is Yuanhan Liu > > <yuanhan.liu@linux.intel.com>. > > I wonder if Yuanhan is OK to maintain every stable releases which could be > requested/needed? I'm Okay, since I assume the maintain effort would be small: mainly for picking acked and tested *bug fix* patches. > Or should we have other committers for the stable releases > that Yuanhan would not want to maintain himself? > The Linux model is to let people declare themselves when they want to maintain > a stable branch. I have no object though, if somebody volunteer him as a stable branch maintainer. > > > The proposed duration of the LTS support is 2 years. > > I think we should discuss the support duration for each release separately. > > > There will only be one LTS branch being maintained at any time. At the end of > > the 2 year cycle the maintenance on the previous LTS will be wound down. > > Seems a bit too restrictive. > Currently, there is no maintenance at all because nobody was volunteer. > If Yuanhan is volunteer for a stable branch every 2 years, fine. > If someone else is volunteer for other branches, why not let him do it? > > > The proposed initial LTS version will be DPDK 16.07. The next versions, based > > on a 2 year cycle, will be DPDK 18.08, 20.08, etc. > > Let's do a first run with 16.07 and see later what we want to do next. > How long time a stable branch must be announced before its initial release? > > > What changes should be backported > > --------------------------------- > > > > * Bug fixes that don't break the ABI. > > And API? > And behaviour (if not clearly documented in the API)? Agreed, we should not include those changes, either. > > [...] > > Developers submitting fixes to the mainline should also CC the maintainer so > > that they can evaluate the patch. A <stable@dpdk.org> email address could be > > provided for this so that it can be included as a CC in the commit messages > > and documented in the Code Contribution Guidelines. > > Why? > We must avoid putting too much restrictions on the contributors. This is actually requested by me, in a behaviour similar to Linux kernel community takes. Here is the thing, the developer normally knows better than a generic maintainer (assume it's me) that a patch applies to stable branch or not. This is especially true for DPDK, since we ask the developer to note down the bug commit by adding a fix line. It wouldn't be a burden for an active contributor, as CCing to related people (including right mailing list) is a good habit they already have. For some one-time contributors, it's okay that they don't know and follow it. In such case, I guess we need the help from the related subsystem maintainer: if it's a good bug fix that applies to stable branch, and the contributor forgot to make a explicit cc to stable mailing list, the subsystem maintainer should forward or ask him to forward to stable mailing list. The reason I'm asking is that as a generic maintainer, there is simply no such energy to keep an eye on all patches: you have to be aware of that we have thoughts of email per month from dpdk dev mailing list: the number of last month is 1808. Doing so would allow one person maintain several stable tree be possible. For more info, you could check linux/Documentation/stable_kernel_rules.txt. > > > Intel will provide validation engineers to test the LTS branch/tree. Tested > > releases can be marked using a Git tag with an incremented revision number. For > > example: 16.07.00_LTS -> 16.07.01_LTS. The testing cadence should be quarterly > > but will be best effort only and dependent on available resources. > > Thanks > It must not be just a tag. There should be an announce and a tarball ready > to download. Agreed. --yliu ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 11:49 ` Yuanhan Liu @ 2016-06-06 13:31 ` Thomas Monjalon 2016-06-06 14:14 ` Yuanhan Liu 0 siblings, 1 reply; 20+ messages in thread From: Thomas Monjalon @ 2016-06-06 13:31 UTC (permalink / raw) To: Yuanhan Liu Cc: Mcnamara, John, dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen 2016-06-06 19:49, Yuanhan Liu: > On Fri, Jun 03, 2016 at 06:05:15PM +0200, Thomas Monjalon wrote: > > 2016-06-03 15:07, Mcnamara, John: > > > Developers submitting fixes to the mainline should also CC the maintainer so > > > that they can evaluate the patch. A <stable@dpdk.org> email address could be > > > provided for this so that it can be included as a CC in the commit messages > > > and documented in the Code Contribution Guidelines. > > > > Why? > > We must avoid putting too much restrictions on the contributors. > > This is actually requested by me, in a behaviour similar to Linux > kernel community takes. Here is the thing, the developer normally > knows better than a generic maintainer (assume it's me) that a patch > applies to stable branch or not. This is especially true for DPDK, > since we ask the developer to note down the bug commit by adding a > fix line. > > It wouldn't be a burden for an active contributor, as CCing to related > people (including right mailing list) is a good habit they already > have. For some one-time contributors, it's okay that they don't know > and follow it. > > In such case, I guess we need the help from the related subsystem > maintainer: if it's a good bug fix that applies to stable branch, > and the contributor forgot to make a explicit cc to stable mailing > list, the subsystem maintainer should forward or ask him to forward > to stable mailing list. > > The reason I'm asking is that as a generic maintainer, there is > simply no such energy to keep an eye on all patches: you have to > be aware of that we have thoughts of email per month from dpdk dev > mailing list: the number of last month is 1808. > > Doing so would allow one person maintain several stable tree > be possible. > > For more info, you could check linux/Documentation/stable_kernel_rules.txt. Makes sense to CC stable@dpdk.org list (must be created). Why put a CC tag in the commit? For automatic processing? Maybe it is too early to run before walking ;) ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 13:31 ` Thomas Monjalon @ 2016-06-06 14:14 ` Yuanhan Liu 2016-06-06 14:23 ` Thomas Monjalon 0 siblings, 1 reply; 20+ messages in thread From: Yuanhan Liu @ 2016-06-06 14:14 UTC (permalink / raw) To: Thomas Monjalon Cc: Mcnamara, John, dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen On Mon, Jun 06, 2016 at 03:31:09PM +0200, Thomas Monjalon wrote: > 2016-06-06 19:49, Yuanhan Liu: > > On Fri, Jun 03, 2016 at 06:05:15PM +0200, Thomas Monjalon wrote: > > > 2016-06-03 15:07, Mcnamara, John: > > > > Developers submitting fixes to the mainline should also CC the maintainer so > > > > that they can evaluate the patch. A <stable@dpdk.org> email address could be > > > > provided for this so that it can be included as a CC in the commit messages > > > > and documented in the Code Contribution Guidelines. > > > > > > Why? > > > We must avoid putting too much restrictions on the contributors. > > > > This is actually requested by me, in a behaviour similar to Linux > > kernel community takes. Here is the thing, the developer normally > > knows better than a generic maintainer (assume it's me) that a patch > > applies to stable branch or not. This is especially true for DPDK, > > since we ask the developer to note down the bug commit by adding a > > fix line. > > > > It wouldn't be a burden for an active contributor, as CCing to related > > people (including right mailing list) is a good habit they already > > have. For some one-time contributors, it's okay that they don't know > > and follow it. > > > > In such case, I guess we need the help from the related subsystem > > maintainer: if it's a good bug fix that applies to stable branch, > > and the contributor forgot to make a explicit cc to stable mailing > > list, the subsystem maintainer should forward or ask him to forward > > to stable mailing list. > > > > The reason I'm asking is that as a generic maintainer, there is > > simply no such energy to keep an eye on all patches: you have to > > be aware of that we have thoughts of email per month from dpdk dev > > mailing list: the number of last month is 1808. > > > > Doing so would allow one person maintain several stable tree > > be possible. > > > > For more info, you could check linux/Documentation/stable_kernel_rules.txt. > > Makes sense to CC stable@dpdk.org list (must be created). > > Why put a CC tag in the commit? For automatic processing? > Maybe it is too early to run before walking ;) It's a tip/trick used a lot in kernel community. Assume you have made a patchset, that just one of them fixes a bug that you hope this patch could also be cc'ed to the original author that introduces the bug. You could achieve that by adding him to the cc list from cli. However, in such way, all patches are cc'ed to him. The alternative is to add a line "Cc: some.one <some@one.com>" in the commit log so that he will get that patch only. If you look at a small micro optimization patchset I sent out last month [0], you will find that I used this trick for the 1st patch, as it touches the core part of virtio-net vring operation, that I hope I can get some comments from the virtio guru/maintainer, Michael. Therefore, he is cc'ed. However, for the 2 other patches in the same set, it's basically DPDK vhost-user stuff, so that I didn't cc him to not bother him. This rule, of course, also applies to the stable branch (for bug fixing patches in a set). It doesn't matter which way you take if it's just a patch set of one bug fixing patch though. [0]: http://dpdk.org/ml/archives/dev/2016-May/038246.html --yliu ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 14:14 ` Yuanhan Liu @ 2016-06-06 14:23 ` Thomas Monjalon 0 siblings, 0 replies; 20+ messages in thread From: Thomas Monjalon @ 2016-06-06 14:23 UTC (permalink / raw) To: Yuanhan Liu Cc: Mcnamara, John, dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen 2016-06-06 22:14, Yuanhan Liu: > On Mon, Jun 06, 2016 at 03:31:09PM +0200, Thomas Monjalon wrote: > > 2016-06-06 19:49, Yuanhan Liu: > > > On Fri, Jun 03, 2016 at 06:05:15PM +0200, Thomas Monjalon wrote: > > > > 2016-06-03 15:07, Mcnamara, John: > > > > > Developers submitting fixes to the mainline should also CC the maintainer so > > > > > that they can evaluate the patch. A <stable@dpdk.org> email address could be > > > > > provided for this so that it can be included as a CC in the commit messages > > > > > and documented in the Code Contribution Guidelines. [...] > > Why put a CC tag in the commit? For automatic processing? > > Maybe it is too early to run before walking ;) > > It's a tip/trick used a lot in kernel community. Assume you have made > a patchset, that just one of them fixes a bug that you hope this patch > could also be cc'ed to the original author that introduces the bug. > You could achieve that by adding him to the cc list from cli. However, > in such way, all patches are cc'ed to him. The alternative is to add > a line "Cc: some.one <some@one.com>" in the commit log so that he will > get that patch only. > > If you look at a small micro optimization patchset I sent out last > month [0], you will find that I used this trick for the 1st patch, > as it touches the core part of virtio-net vring operation, that I > hope I can get some comments from the virtio guru/maintainer, Michael. > Therefore, he is cc'ed. However, for the 2 other patches in the same > set, it's basically DPDK vhost-user stuff, so that I didn't cc him > to not bother him. > > This rule, of course, also applies to the stable branch (for bug > fixing patches in a set). It doesn't matter which way you take if > it's just a patch set of one bug fixing patch though. > > [0]: http://dpdk.org/ml/archives/dev/2016-May/038246.html OK ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 16:05 ` Thomas Monjalon 2016-06-06 11:49 ` Yuanhan Liu @ 2016-06-07 13:17 ` Mcnamara, John 1 sibling, 0 replies; 20+ messages in thread From: Mcnamara, John @ 2016-06-07 13:17 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen > -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > Sent: Friday, June 3, 2016 5:05 PM > To: Mcnamara, John <john.mcnamara@intel.com> > Cc: dev@dpdk.org; Christian Ehrhardt <christian.ehrhardt@canonical.com>; > Markos Chandras <mchandras@suse.de>; Panu Matilainen <pmatilai@redhat.com> > Subject: Re: [dpdk-dev] RFC: DPDK Long Term Support > > Hi, > > 2016-06-03 15:07, Mcnamara, John: > > Introduction > > ------------ > > > > This document sets out a proposal for a DPDK Long Term Support release > (LTS). > > In general, LTS refer to a longer maintenance than than regular one. > Here we are talking to doing some maintenance as stable releases first. > Currently we have no maintenance at all. > So I suggest to differentiate "stable branches" and "LTS" for some stable > branches. Hi Thomas, I have no argument against this. It would be great to have a series of stable branches of which some are LTS. But at a minimum we are committing to have a least one maintained stable branch that will also be a LTS. > I wonder if Yuanhan is OK to maintain every stable releases which could be > requested/needed? Or should we have other committers for the stable > releases that Yuanhan would not want to maintain himself? > The Linux model is to let people declare themselves when they want to > maintain a stable branch. I think it is fine to have other committers. > > The proposed duration of the LTS support is 2 years. > > I think we should discuss the support duration for each release > separately. > > > There will only be one LTS branch being maintained at any time. At the > > end of the 2 year cycle the maintenance on the previous LTS will be > wound down. > > Seems a bit too restrictive. > Currently, there is no maintenance at all because nobody was volunteer. > If Yuanhan is volunteer for a stable branch every 2 years, fine. > If someone else is volunteer for other branches, why not let him do it? I see no problem with that. This proposal just reflects that fact that we have only had one volunteer to date and is based on what could be reasonably done by one person (plus the validation support). If more maintainers come forward we can have more/more frequent stable branches. We will, however, be constrained by the validation effort that can be offered, unless there are other validation volunteers. > > The proposed initial LTS version will be DPDK 16.07. The next > > versions, based on a 2 year cycle, will be DPDK 18.08, 20.08, etc. > > Let's do a first run with 16.07 and see later what we want to do next. > How long time a stable branch must be announced before its initial > release? Ok. The statement at the end about reviewing at the end of the first year is meant to cover adjustments like this. I think that we will have to see how things work out in practice and adjust as we go. > > What changes should be backported > > --------------------------------- > > > > * Bug fixes that don't break the ABI. > > And API? > And behaviour (if not clearly documented in the API)? Yes. It should say ABI and API. Undocumented but implied or existing bahaviour should also be maintained. > > (OSV reps please confirm.) > > > > * Ubuntu 16.04 LTS > > * RHEL 7.3 > > * SuSE 11 SP4 or 12 > > * FreeBSD 10.3 > > I'm sure there will be more validation on the field or from contributors. Hopefully. :-) John. -- ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 15:07 [dpdk-dev] RFC: DPDK Long Term Support Mcnamara, John 2016-06-03 16:05 ` Thomas Monjalon @ 2016-06-03 18:17 ` Matthew Hall 2016-06-07 12:53 ` Mcnamara, John 2016-06-05 18:15 ` Neil Horman ` (2 subsequent siblings) 4 siblings, 1 reply; 20+ messages in thread From: Matthew Hall @ 2016-06-03 18:17 UTC (permalink / raw) To: Mcnamara, John; +Cc: dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen On Fri, Jun 03, 2016 at 03:07:49PM +0000, Mcnamara, John wrote: > What changes should be backported > --------------------------------- > > * Bug fixes that don't break the ABI. > > > What changes should not be backported > ------------------------------------- > > * API or ABI breaking changes. I think this part needs some adjusting. It seems like there should be allowance for bug fixes where the original does break ABI but it is possible to make a version that doesn't. A lot of DPDK bug fixes I see would fall into this category and it isn't discussed. Matthew. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 18:17 ` Matthew Hall @ 2016-06-07 12:53 ` Mcnamara, John 0 siblings, 0 replies; 20+ messages in thread From: Mcnamara, John @ 2016-06-07 12:53 UTC (permalink / raw) To: Matthew Hall; +Cc: dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen > -----Original Message----- > From: Matthew Hall [mailto:mhall@mhcomputing.net] > Sent: Friday, June 3, 2016 7:17 PM > To: Mcnamara, John <john.mcnamara@intel.com> > Cc: dev <dev@dpdk.org>; Christian Ehrhardt > <christian.ehrhardt@canonical.com>; Markos Chandras <mchandras@suse.de>; > Panu Matilainen <pmatilai@redhat.com> > Subject: Re: [dpdk-dev] RFC: DPDK Long Term Support > > > > > What changes should not be backported > > ------------------------------------- > > > > * API or ABI breaking changes. > > I think this part needs some adjusting. > > It seems like there should be allowance for bug fixes where the original > does break ABI but it is possible to make a version that doesn't. > > A lot of DPDK bug fixes I see would fall into this category and it isn't > discussed. Hi Matthew, Agreed, we should allow fix to be backported even if the patch itself cannot be, for ABI reasons. John ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 15:07 [dpdk-dev] RFC: DPDK Long Term Support Mcnamara, John 2016-06-03 16:05 ` Thomas Monjalon 2016-06-03 18:17 ` Matthew Hall @ 2016-06-05 18:15 ` Neil Horman 2016-06-06 9:27 ` Thomas Monjalon 2016-06-07 15:55 ` Mcnamara, John 2016-06-06 13:44 ` Nirmoy Das 2016-06-07 12:36 ` Christian Ehrhardt 4 siblings, 2 replies; 20+ messages in thread From: Neil Horman @ 2016-06-05 18:15 UTC (permalink / raw) To: Mcnamara, John; +Cc: dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen On Fri, Jun 03, 2016 at 03:07:49PM +0000, Mcnamara, John wrote: > Introduction > ------------ > > This document sets out a proposal for a DPDK Long Term Support release (LTS). > > The purpose of the DPDK LTS will be to maintain a stable release of DPDK with > backported bug fixes over an extended period of time. This will provide > downstream consumers of DPDK with a stable target on which to base > applications or packages. > > As with previous DPDK guidelines this proposal is open for discussion within > the community. The consensus view will be included in the DPDK documentation > as a guideline. > > > LTS Maintainer > -------------- > > The proposed maintainer for the LTS is Yuanhan Liu > <yuanhan.liu@linux.intel.com>. > > > LTS Duration > ------------ > > The proposed duration of the LTS support is 2 years. > > There will only be one LTS branch being maintained at any time. At the end of > the 2 year cycle the maintenance on the previous LTS will be wound down. > > > LTS Version > ------------ > > The proposed initial LTS version will be DPDK 16.07. The next versions, based > on a 2 year cycle, will be DPDK 18.08, 20.08, etc. > > > What changes should be backported > --------------------------------- > > * Bug fixes that don't break the ABI. > > > What changes should not be backported > ------------------------------------- > > * API or ABI breaking changes. > > * Features should not be backported. Unless: > > * There is a justifiable use case (for example a new PMD). > * The change is non-invasive. > * The work of preparing the backport is done by the proposer. > * There is support within the community. > > > Role of the maintainer > ---------------------- > > * The maintainer will evaluate fixes to the DPDK master submitted by the > fixing developer and apply them to the LTS branch/tree. > > * The maintainer will evaluate backported patches from downstream consumers > and apply them to the LTS branch/tree. > > * The maintainer will not backport non-trivial fixes without assistance from > the downstream consumers or requester. > > > Role of the downstream consumers > -------------------------------- > > Developers submitting fixes to the mainline should also CC the maintainer so > that they can evaluate the patch. A <stable@dpdk.org> email address could be > provided for this so that it can be included as a CC in the commit messages > and documented in the Code Contribution Guidelines. > > The downstream consumers (OSVs and DPDK dependent application and framework > developers) should identify issues in the field that have been fixed in the > mainline release and report them to the maintainer. They should, ideally, > assist with backporting any required fixes. > > > Testing > ------- > > Intel will provide validation engineers to test the LTS branch/tree. Tested > releases can be marked using a Git tag with an incremented revision number. For > example: 16.07.00_LTS -> 16.07.01_LTS. The testing cadence should be quarterly > but will be best effort only and dependent on available resources. > > > Validated OSes > -------------- > > In order to reduce the testing effort the number of OSes which will be > officially validated should be as small as possible. The proposal is that the > following long term OSes are used for validation: > > (OSV reps please confirm.) > > * Ubuntu 16.04 LTS > * RHEL 7.3 > * SuSE 11 SP4 or 12 > * FreeBSD 10.3 > > Fixes for newer OSes, kernels (and associated KNI fixes), and newer GCC/Clang > versions can be backported but the validation effort will be limited to the > above platforms. > > > Release Notes > ------------- > > The LTS release notes should be updated to include a section with backported > fixes. Patches for backporting should include additions to the release notes > like patches to the mainline branch. > > > LTS Review > ---------- > > The LTS guidelines shall be reviewed after 1 year to adjust for any experiences > from LTS maintainership. > > > > > > > I'm not opposed to an LTS release, but it seems to be re-solving the issue of ABI breakage. That is to say, there is alreay a process in place for managing ABI changes to the DPDK, which is designed to help ensure that: 1) ABI changes are signaled at least 2 releases early 2) ABI changes whenever possible are designed such that backward compatibility versions can be encoded at the same time with versioning tags Those two mechanism are expressly intended to allow application upgrades of DPDK libraries without worrying about ABI breakage. While LTS releases are a fine approach for some things, they sacrifice upstream efficiency (by creating work for backporting teams), while allowing upstream developers more leverage to just create ABI breaking changes on a whim, ignoring the existing ABI compatibility mechanism LTS is a fine process for projects in which API/ABI breakage is either uncommon or fairly isolated, but that in my mind doesn't really describe DPDK. Neil ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-05 18:15 ` Neil Horman @ 2016-06-06 9:27 ` Thomas Monjalon 2016-06-06 13:47 ` Neil Horman 2016-06-07 15:55 ` Mcnamara, John 1 sibling, 1 reply; 20+ messages in thread From: Thomas Monjalon @ 2016-06-06 9:27 UTC (permalink / raw) To: Neil Horman Cc: dev, Mcnamara, John, Christian Ehrhardt, Markos Chandras, Panu Matilainen 2016-06-05 14:15, Neil Horman: > On Fri, Jun 03, 2016 at 03:07:49PM +0000, Mcnamara, John wrote: > > Introduction > > ------------ > > > > This document sets out a proposal for a DPDK Long Term Support release (LTS). > > > > The purpose of the DPDK LTS will be to maintain a stable release of DPDK with > > backported bug fixes over an extended period of time. This will provide > > downstream consumers of DPDK with a stable target on which to base > > applications or packages. [...] > I'm not opposed to an LTS release, but it seems to be re-solving the issue of > ABI breakage. That is to say, there is alreay a process in place for managing > ABI changes to the DPDK, which is designed to help ensure that: > > 1) ABI changes are signaled at least 2 releases early > 2) ABI changes whenever possible are designed such that backward compatibility > versions can be encoded at the same time with versioning tags Sorry I don't understand your point. We are talking about two different things: 1/ ABI care for each new major release 2/ Minor release for bug fixes I think both may exist. > Those two mechanism are expressly intended to allow application upgrades of DPDK > libraries without worrying about ABI breakage. While LTS releases are a fine > approach for some things, they sacrifice upstream efficiency (by creating work > for backporting teams), while allowing upstream developers more leverage to just > create ABI breaking changes on a whim, ignoring the existing ABI compatibility > mechanism No it was not stated that upstream developers should ignore ABI compatibility. Do you mean having a stable branch means ABI preservation for the next major release is less important? > LTS is a fine process for projects in which API/ABI breakage is either uncommon > or fairly isolated, but that in my mind doesn't really describe DPDK. Yes API/ABI breakages are still common in DPDK. So it's even more important to have some stable branches. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 9:27 ` Thomas Monjalon @ 2016-06-06 13:47 ` Neil Horman 2016-06-06 14:21 ` Thomas Monjalon 2016-06-07 16:21 ` Mcnamara, John 0 siblings, 2 replies; 20+ messages in thread From: Neil Horman @ 2016-06-06 13:47 UTC (permalink / raw) To: Thomas Monjalon Cc: dev, Mcnamara, John, Christian Ehrhardt, Markos Chandras, Panu Matilainen On Mon, Jun 06, 2016 at 11:27:29AM +0200, Thomas Monjalon wrote: > 2016-06-05 14:15, Neil Horman: > > On Fri, Jun 03, 2016 at 03:07:49PM +0000, Mcnamara, John wrote: > > > Introduction > > > ------------ > > > > > > This document sets out a proposal for a DPDK Long Term Support release (LTS). > > > > > > The purpose of the DPDK LTS will be to maintain a stable release of DPDK with > > > backported bug fixes over an extended period of time. This will provide > > > downstream consumers of DPDK with a stable target on which to base > > > applications or packages. > [...] > > I'm not opposed to an LTS release, but it seems to be re-solving the issue of > > ABI breakage. That is to say, there is alreay a process in place for managing > > ABI changes to the DPDK, which is designed to help ensure that: > > > > 1) ABI changes are signaled at least 2 releases early > > 2) ABI changes whenever possible are designed such that backward compatibility > > versions can be encoded at the same time with versioning tags > > Sorry I don't understand your point. > We are talking about two different things: > 1/ ABI care for each new major release > 2/ Minor release for bug fixes > > I think both may exist. > Sure, they can exist together (they being both an ABI backwards compatible HEAD and a set of LTS releases). The point I'm trying to make is that if you do your ABI compatible HEAD well enough, you don't really need an LTS release. Thats not to say that you can't do both, but an LTS release is a significant workload item, especially given the rapid pace of change in HEAD. The longer you maintain an LTS release, the more difficult "minor" bugfixes are to integrate, especially if you wind up skipping any ABI breaking patches. I think its worth calling attention to that as this approach gets considered. > > Those two mechanism are expressly intended to allow application upgrades of DPDK > > libraries without worrying about ABI breakage. While LTS releases are a fine > > approach for some things, they sacrifice upstream efficiency (by creating work > > for backporting teams), while allowing upstream developers more leverage to just > > create ABI breaking changes on a whim, ignoring the existing ABI compatibility > > mechanism > > No it was not stated that upstream developers should ignore ABI compatibility. > Do you mean having a stable branch means ABI preservation for the next major > release is less important? > I never stated that developers should ignore ABI compatibility, I stated that creating an LTS release will make it that much easier for developers to do so. And I think, pragmatically speaking, that is a concern. Given that the existance of an LTS release will make it tempting for developers to simply follow the deprecation process rather than try to create ABI backward compatible paths. Looking at the git history, it seems clear to me that this is already happening. I'm able to find a multitude of instances in which the deprecation process has been followed reasonably well, but I can find no instances in which any efforts have been made for backward compatibility. > > LTS is a fine process for projects in which API/ABI breakage is either uncommon > > or fairly isolated, but that in my mind doesn't really describe DPDK. > > Yes API/ABI breakages are still common in DPDK. > So it's even more important to have some stable branches. We seem to be comming to different conclusions based on the same evidence. We agree that API/ABI changes continue to be frequent ocurances, but my position is that we already have a process in place to mitigate that, which is simply not being used (i.e. versioning symbols to provide backward compatible paths), whereas you seem to be asserting that an LTS model will allow for ABI stabiilty and bug fixes. While I don't disagree with that statement (LTS does provide both of those things if the maintainer does it properly), I'm forced to ask the question, before we solve this problem in a new way, lets ask why the existing way isn't being used. Do developers just not care about backwards compatibility? Is the process to hard? Something else? I really don't like the idea of abandoning what currently exists to replace it with something else, without first addressing why what we have isn't working. Neil > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 13:47 ` Neil Horman @ 2016-06-06 14:21 ` Thomas Monjalon 2016-06-06 15:07 ` Neil Horman 2016-06-07 16:21 ` Mcnamara, John 1 sibling, 1 reply; 20+ messages in thread From: Thomas Monjalon @ 2016-06-06 14:21 UTC (permalink / raw) To: Neil Horman Cc: dev, Mcnamara, John, Christian Ehrhardt, Markos Chandras, Panu Matilainen 2016-06-06 09:47, Neil Horman: > On Mon, Jun 06, 2016 at 11:27:29AM +0200, Thomas Monjalon wrote: > > 2016-06-05 14:15, Neil Horman: > > > On Fri, Jun 03, 2016 at 03:07:49PM +0000, Mcnamara, John wrote: > > > > Introduction > > > > ------------ > > > > > > > > This document sets out a proposal for a DPDK Long Term Support release (LTS). > > > > > > > > The purpose of the DPDK LTS will be to maintain a stable release of DPDK with > > > > backported bug fixes over an extended period of time. This will provide > > > > downstream consumers of DPDK with a stable target on which to base > > > > applications or packages. > > [...] > > > I'm not opposed to an LTS release, but it seems to be re-solving the issue of > > > ABI breakage. That is to say, there is alreay a process in place for managing > > > ABI changes to the DPDK, which is designed to help ensure that: > > > > > > 1) ABI changes are signaled at least 2 releases early > > > 2) ABI changes whenever possible are designed such that backward compatibility > > > versions can be encoded at the same time with versioning tags > > > > Sorry I don't understand your point. > > We are talking about two different things: > > 1/ ABI care for each new major release > > 2/ Minor release for bug fixes > > > > I think both may exist. > > > Sure, they can exist together (they being both an ABI backwards compatible HEAD > and a set of LTS releases). The point I'm trying to make is that if you do your > ABI compatible HEAD well enough, you don't really need an LTS release. > > Thats not to say that you can't do both, but an LTS release is a significant > workload item, especially given the rapid pace of change in HEAD. The longer > you maintain an LTS release, the more difficult "minor" bugfixes are to > integrate, especially if you wind up skipping any ABI breaking patches. I think > its worth calling attention to that as this approach gets considered. > > > > Those two mechanism are expressly intended to allow application upgrades of DPDK > > > libraries without worrying about ABI breakage. While LTS releases are a fine > > > approach for some things, they sacrifice upstream efficiency (by creating work > > > for backporting teams), while allowing upstream developers more leverage to just > > > create ABI breaking changes on a whim, ignoring the existing ABI compatibility > > > mechanism > > > > No it was not stated that upstream developers should ignore ABI compatibility. > > Do you mean having a stable branch means ABI preservation for the next major > > release is less important? > > > I never stated that developers should ignore ABI compatibility, I stated that > creating an LTS release will make it that much easier for developers to do so. > > And I think, pragmatically speaking, that is a concern. Given that the > existance of an LTS release will make it tempting for developers to simply > follow the deprecation process rather than try to create ABI backward compatible > paths. > > Looking at the git history, it seems clear to me that this is already happening. > I'm able to find a multitude of instances in which the deprecation process has > been followed reasonably well, but I can find no instances in which any efforts > have been made for backward compatibility. There were some examples of backward compatibility in hash and lpm libraries. > > > LTS is a fine process for projects in which API/ABI breakage is either uncommon > > > or fairly isolated, but that in my mind doesn't really describe DPDK. > > > > Yes API/ABI breakages are still common in DPDK. > > So it's even more important to have some stable branches. > > We seem to be comming to different conclusions based on the same evidence. We > agree that API/ABI changes continue to be frequent ocurances, but my position is > that we already have a process in place to mitigate that, which is simply not > being used (i.e. versioning symbols to provide backward compatible paths), > whereas you seem to be asserting that an LTS model will allow for ABI stabiilty > and bug fixes. > > While I don't disagree with that statement (LTS does provide both of those > things if the maintainer does it properly), I'm forced to ask the question, > before we solve this problem in a new way, The following questions are interesting but please don't assume the stable branch address the same issue as ABI compat. In each major release, we add some new bugs because of new features, even if the ABI is kept. In a minor stable release there are only some bug fixes. So the only way to have a "bug free" version in a stable environment, is to do some maintenance in a stable branch. > lets ask why the existing way isn't > being used. Do developers just not care about backwards compatibility? Is the > process to hard? Something else? I really don't like the idea of abandoning > what currently exists to replace it with something else, without first > addressing why what we have isn't working. We can address both. But I strongly think the ABI compat is another topic. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 14:21 ` Thomas Monjalon @ 2016-06-06 15:07 ` Neil Horman 0 siblings, 0 replies; 20+ messages in thread From: Neil Horman @ 2016-06-06 15:07 UTC (permalink / raw) To: Thomas Monjalon Cc: dev, Mcnamara, John, Christian Ehrhardt, Markos Chandras, Panu Matilainen On Mon, Jun 06, 2016 at 04:21:11PM +0200, Thomas Monjalon wrote: > 2016-06-06 09:47, Neil Horman: > > On Mon, Jun 06, 2016 at 11:27:29AM +0200, Thomas Monjalon wrote: > > > 2016-06-05 14:15, Neil Horman: > > > > On Fri, Jun 03, 2016 at 03:07:49PM +0000, Mcnamara, John wrote: > > > > > Introduction > > > > > ------------ > > > > > > > > > > This document sets out a proposal for a DPDK Long Term Support release (LTS). > > > > > > > > > > The purpose of the DPDK LTS will be to maintain a stable release of DPDK with > > > > > backported bug fixes over an extended period of time. This will provide > > > > > downstream consumers of DPDK with a stable target on which to base > > > > > applications or packages. > > > [...] > > > > I'm not opposed to an LTS release, but it seems to be re-solving the issue of > > > > ABI breakage. That is to say, there is alreay a process in place for managing > > > > ABI changes to the DPDK, which is designed to help ensure that: > > > > > > > > 1) ABI changes are signaled at least 2 releases early > > > > 2) ABI changes whenever possible are designed such that backward compatibility > > > > versions can be encoded at the same time with versioning tags > > > > > > Sorry I don't understand your point. > > > We are talking about two different things: > > > 1/ ABI care for each new major release > > > 2/ Minor release for bug fixes > > > > > > I think both may exist. > > > > > Sure, they can exist together (they being both an ABI backwards compatible HEAD > > and a set of LTS releases). The point I'm trying to make is that if you do your > > ABI compatible HEAD well enough, you don't really need an LTS release. > > > > Thats not to say that you can't do both, but an LTS release is a significant > > workload item, especially given the rapid pace of change in HEAD. The longer > > you maintain an LTS release, the more difficult "minor" bugfixes are to > > integrate, especially if you wind up skipping any ABI breaking patches. I think > > its worth calling attention to that as this approach gets considered. > > > > > > Those two mechanism are expressly intended to allow application upgrades of DPDK > > > > libraries without worrying about ABI breakage. While LTS releases are a fine > > > > approach for some things, they sacrifice upstream efficiency (by creating work > > > > for backporting teams), while allowing upstream developers more leverage to just > > > > create ABI breaking changes on a whim, ignoring the existing ABI compatibility > > > > mechanism > > > > > > No it was not stated that upstream developers should ignore ABI compatibility. > > > Do you mean having a stable branch means ABI preservation for the next major > > > release is less important? > > > > > I never stated that developers should ignore ABI compatibility, I stated that > > creating an LTS release will make it that much easier for developers to do so. > > > > And I think, pragmatically speaking, that is a concern. Given that the > > existance of an LTS release will make it tempting for developers to simply > > follow the deprecation process rather than try to create ABI backward compatible > > paths. > > > > Looking at the git history, it seems clear to me that this is already happening. > > I'm able to find a multitude of instances in which the deprecation process has > > been followed reasonably well, but I can find no instances in which any efforts > > have been made for backward compatibility. > > There were some examples of backward compatibility in hash and lpm libraries. > Ok, apologies, but you still see my point. A relatively minor number of instances of creating backward compatibility among a much larger set of easier deprecate and replace instances. Its not really having the effect it was intended to. > > > > LTS is a fine process for projects in which API/ABI breakage is either uncommon > > > > or fairly isolated, but that in my mind doesn't really describe DPDK. > > > > > > Yes API/ABI breakages are still common in DPDK. > > > So it's even more important to have some stable branches. > > > > We seem to be comming to different conclusions based on the same evidence. We > > agree that API/ABI changes continue to be frequent ocurances, but my position is > > that we already have a process in place to mitigate that, which is simply not > > being used (i.e. versioning symbols to provide backward compatible paths), > > whereas you seem to be asserting that an LTS model will allow for ABI stabiilty > > and bug fixes. > > > > While I don't disagree with that statement (LTS does provide both of those > > things if the maintainer does it properly), I'm forced to ask the question, > > before we solve this problem in a new way, > > The following questions are interesting but please don't assume the stable > branch address the same issue as ABI compat. Given your perspecive on what LTS/stable branches should be, I absolutely agree, but thats not what John M. Was proposing. from his initial proposal, he specifically called out which changes were acceptable: What changes should not be backported ------------------------------------- * API or ABI breaking changes. * Features should not be backported. Unless: * There is a justifiable use case (for example a new PMD). * The change is non-invasive. * The work of preparing the backport is done by the proposer. * There is support within the community. The above list in my mind amounts to "Any change that there is sufficient consumer demand for and doesn't present too much validation difficulty, except ABI or API breaking changes". While theres nothing really wrong with that, if we want to go down that path, that really says to me that this is a way around ABI compatibilty problems, because the inclusion of any other fix, given sufficient demand, can be potentially justified. So, in Johns proposal, a stable branch / LTS release is going to effectively be a way to allow consumers to stay on one API/ABI level for longer period of time before having to make a major change catch up to the HEAD release. > In each major release, we add some new bugs because of new features, even > if the ABI is kept. > In a minor stable release there are only some bug fixes. So the only way > to have a "bug free" version in a stable environment, is to do some > maintenance in a stable branch. > Again, I agree with your perspecitive on what a stable branch should be, but thats not what John was proposing, and thats what I'm raising a concern about. > > lets ask why the existing way isn't > > being used. Do developers just not care about backwards compatibility? Is the > > process to hard? Something else? I really don't like the idea of abandoning > > what currently exists to replace it with something else, without first > > addressing why what we have isn't working. > > We can address both. But I strongly think the ABI compat is another topic. I agree it can be a separate topic, but given the proposal here, it seems like an awfully tempting way to avoid having to address it. Not saying its a bad plan, mind you, just that ABI compatibility is something that does need to be kept at the forefront, because it still changes often (more often than it has to). Neil > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 13:47 ` Neil Horman 2016-06-06 14:21 ` Thomas Monjalon @ 2016-06-07 16:21 ` Mcnamara, John 1 sibling, 0 replies; 20+ messages in thread From: Mcnamara, John @ 2016-06-07 16:21 UTC (permalink / raw) To: Neil Horman, Thomas Monjalon Cc: dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Neil Horman > Sent: Monday, June 6, 2016 2:48 PM > To: Thomas Monjalon <thomas.monjalon@6wind.com> > Cc: dev@dpdk.org; Mcnamara, John <john.mcnamara@intel.com>; Christian > Ehrhardt <christian.ehrhardt@canonical.com>; Markos Chandras > <mchandras@suse.de>; Panu Matilainen <pmatilai@redhat.com> > Subject: Re: [dpdk-dev] RFC: DPDK Long Term Support > > While I don't disagree with that statement (LTS does provide both of those > things if the maintainer does it properly), I'm forced to ask the > question, before we solve this problem in a new way, lets ask why the > existing way isn't being used. Do developers just not care about > backwards compatibility? Is the process to hard? Something else? I > really don't like the idea of abandoning what currently exists to replace > it with something else, without first addressing why what we have isn't > working. Hi Neil, I think these questions around why the current ABI policy isn't working (or at least not working well) and how it can be fixed are worth raising as a new discussion. John. -- ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-05 18:15 ` Neil Horman 2016-06-06 9:27 ` Thomas Monjalon @ 2016-06-07 15:55 ` Mcnamara, John 1 sibling, 0 replies; 20+ messages in thread From: Mcnamara, John @ 2016-06-07 15:55 UTC (permalink / raw) To: Neil Horman; +Cc: dev, Christian Ehrhardt, Markos Chandras, Panu Matilainen > -----Original Message----- > From: Neil Horman [mailto:nhorman@tuxdriver.com] > Sent: Sunday, June 5, 2016 7:15 PM > To: Mcnamara, John <john.mcnamara@intel.com> > Cc: dev <dev@dpdk.org>; Christian Ehrhardt > <christian.ehrhardt@canonical.com>; Markos Chandras <mchandras@suse.de>; > Panu Matilainen <pmatilai@redhat.com> > Subject: Re: [dpdk-dev] RFC: DPDK Long Term Support > > > > I'm not opposed to an LTS release, but it seems to be re-solving the issue > of ABI breakage. That is to say, there is alreay a process in place for > managing ABI changes to the DPDK, which is designed to help ensure that: > > 1) ABI changes are signaled at least 2 releases early > 2) ABI changes whenever possible are designed such that backward > compatibility versions can be encoded at the same time with versioning > tags > > Those two mechanism are expressly intended to allow application upgrades > of DPDK libraries without worrying about ABI breakage. Hi, The purpose of the LTS proposal isn't to replace or circumvent the ABI policy. In fact backporting of patches would be very difficult without an upstream ABI policy. Even if the ABI policy was working perfectly there would still be a use case for an LTS among consumers who want a fixed version with bug fixes or minor changes. There are already several companies maintaining their own branches like this. This purpose of this proposal is to get them to converge on a single version (or, if there is support, versions) and combine their efforts. > While LTS releases > are a fine approach for some things, they sacrifice upstream efficiency > (by creating work for backporting teams), while allowing upstream > developers more leverage to just create ABI breaking changes on a whim, > ignoring the existing ABI compatibility mechanism An LTS release doesn't prevent us from maintaining upstream ABI compatibility and it only gives developers leverage if we allow it to. John. -- ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 15:07 [dpdk-dev] RFC: DPDK Long Term Support Mcnamara, John ` (2 preceding siblings ...) 2016-06-05 18:15 ` Neil Horman @ 2016-06-06 13:44 ` Nirmoy Das 2016-06-06 14:16 ` Yuanhan Liu 2016-06-07 12:36 ` Christian Ehrhardt 4 siblings, 1 reply; 20+ messages in thread From: Nirmoy Das @ 2016-06-06 13:44 UTC (permalink / raw) To: dev; +Cc: Thomas Monjalon > LTS Version > ------------ > > The proposed initial LTS version will be DPDK 16.07. The next versions, based > on a 2 year cycle, will be DPDK 18.08, 20.08, etc. Hi, I can see 16.07's release due date is 18th July. Is it possible to know the timeline for RC versions of dpdk-16.07 ? This might be helpful for SUSE to decide the supported product(SLE12 SP*/Leap) for dpdk-lts. regards, Nirmoy -- SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Maxfeldstr. 5 D-90409 Nürnberg / Phone: +49-911-740 18-4 ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-06 13:44 ` Nirmoy Das @ 2016-06-06 14:16 ` Yuanhan Liu 0 siblings, 0 replies; 20+ messages in thread From: Yuanhan Liu @ 2016-06-06 14:16 UTC (permalink / raw) To: Nirmoy Das; +Cc: dev, Thomas Monjalon On Mon, Jun 06, 2016 at 03:44:47PM +0200, Nirmoy Das wrote: > > > LTS Version > > ------------ > > > > The proposed initial LTS version will be DPDK 16.07. The next versions, based > > on a 2 year cycle, will be DPDK 18.08, 20.08, etc. > > Hi, > > I can see 16.07's release due date is 18th July. Is it possible to know > the timeline for RC versions of dpdk-16.07 ? This might be helpful for > SUSE to decide the supported product(SLE12 SP*/Leap) for dpdk-lts. You can get it from http://dpdk.org/dev/roadmap: 16.07 Proposal deadline: May 8 Integration deadline: June 16 Release: July 18 In another word, we're gona have 1st RC release in less then 2 weeks. --yliu ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-03 15:07 [dpdk-dev] RFC: DPDK Long Term Support Mcnamara, John ` (3 preceding siblings ...) 2016-06-06 13:44 ` Nirmoy Das @ 2016-06-07 12:36 ` Christian Ehrhardt 2016-06-07 19:39 ` Martinx - ジェームズ 4 siblings, 1 reply; 20+ messages in thread From: Christian Ehrhardt @ 2016-06-07 12:36 UTC (permalink / raw) To: Mcnamara, John; +Cc: dev, Markos Chandras, Panu Matilainen On Fri, Jun 3, 2016 at 5:07 PM, Mcnamara, John <john.mcnamara@intel.com> wrote: [...] > > LTS Version > ------------ > > The proposed initial LTS version will be DPDK 16.07. The next versions, > based > on a 2 year cycle, will be DPDK 18.08, 20.08, etc. > I can see on the discussions that much more things around this have to be discussed and agreed, but to some extend we will also just "have to wait and see" how things work out. I fully agree to the API change argument to start with 16.07 and the 2 year cycle (more would be nice, but this means effort and after a while almost nothing is "easily" backportable). Never the less I have to ask - as I'd be personally much more happy if it would be the odd years autumn release that would make the LTS as it would match our LTS releases much much better. Otherwise we (Ubuntu) will always "just miss" the LTS by a few months. First I'd have thought on xx.02 releases, but consuming applications might need time to adapt and while there are the nice API/ABI guarantees experience tells me to better leave some kind of time-buffer. Also this would give all of us a first shot with a shorter (not so long as in L) LTS to see if the process we defined works out before jumping on a full 2 year cadence. So while I see that this is kind of "my problem" I would at least try to personally ask and vote for LTS being: 16.7, 17.11, 19.11, 21.11, ... Christian Ehrhardt Software Engineer, Ubuntu Server Canonical Ltd ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] RFC: DPDK Long Term Support 2016-06-07 12:36 ` Christian Ehrhardt @ 2016-06-07 19:39 ` Martinx - ジェームズ 0 siblings, 0 replies; 20+ messages in thread From: Martinx - ジェームズ @ 2016-06-07 19:39 UTC (permalink / raw) To: Christian Ehrhardt; +Cc: dev On 7 June 2016 at 08:36, Christian Ehrhardt < christian.ehrhardt@canonical.com> wrote: > On Fri, Jun 3, 2016 at 5:07 PM, Mcnamara, John <john.mcnamara@intel.com> > wrote: > [...] > > > > LTS Version > > ------------ > > > > The proposed initial LTS version will be DPDK 16.07. The next versions, > > based > > on a 2 year cycle, will be DPDK 18.08, 20.08, etc. > > > > I can see on the discussions that much more things around this have to be > discussed and agreed, but to some extend we will also just "have to wait > and see" how things work out. > I fully agree to the API change argument to start with 16.07 and the 2 year > cycle (more would be nice, but this means effort and after a while almost > nothing is "easily" backportable). > > Never the less I have to ask - as I'd be personally much more happy if it > would be the odd years autumn release that would make the LTS as it would > match our LTS releases much much better. > Otherwise we (Ubuntu) will always "just miss" the LTS by a few months. > First I'd have thought on xx.02 releases, but consuming applications might > need time to adapt and while there are the nice API/ABI guarantees > experience tells me to better leave some kind of time-buffer. > > Also this would give all of us a first shot with a shorter (not so long as > in L) LTS to see if the process we defined works out before jumping on a > full 2 year cadence. > > So while I see that this is kind of "my problem" I would at least try to > personally ask and vote for LTS being: 16.7, 17.11, 19.11, 21.11, ... > > Christian Ehrhardt > Software Engineer, Ubuntu Server > Canonical Ltd > +1 For DPDK LTS being: 16.7, 17.11, 19.11, 21.11, ... This way, DPDK LTS 17.11 will be part of Ubuntu LTS 18.04... DPDK LTS 19.11 on Ubuntu LTS 20.04... Very likely that DPDK LTS 16.07 will be available to Ubuntu 16.04 via Ubuntu Cloud Archive Newton. Cheers! Thiago ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2016-06-07 19:40 UTC | newest] Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-06-03 15:07 [dpdk-dev] RFC: DPDK Long Term Support Mcnamara, John 2016-06-03 16:05 ` Thomas Monjalon 2016-06-06 11:49 ` Yuanhan Liu 2016-06-06 13:31 ` Thomas Monjalon 2016-06-06 14:14 ` Yuanhan Liu 2016-06-06 14:23 ` Thomas Monjalon 2016-06-07 13:17 ` Mcnamara, John 2016-06-03 18:17 ` Matthew Hall 2016-06-07 12:53 ` Mcnamara, John 2016-06-05 18:15 ` Neil Horman 2016-06-06 9:27 ` Thomas Monjalon 2016-06-06 13:47 ` Neil Horman 2016-06-06 14:21 ` Thomas Monjalon 2016-06-06 15:07 ` Neil Horman 2016-06-07 16:21 ` Mcnamara, John 2016-06-07 15:55 ` Mcnamara, John 2016-06-06 13:44 ` Nirmoy Das 2016-06-06 14:16 ` Yuanhan Liu 2016-06-07 12:36 ` Christian Ehrhardt 2016-06-07 19:39 ` Martinx - ジェームズ
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).