diff mbox

[v3] doc: release-guide: add LTS details

Message ID 1471529390-26282-1-git-send-email-mike.holmes@linaro.org
State Accepted
Commit f11a255716190184f8eaeef1888fd5b82773aa66
Headers show

Commit Message

Mike Holmes Aug. 18, 2016, 2:09 p.m. UTC
Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

---
v3:
   use "non-embedded environments" (bill)

 doc/process-guide/release-guide.adoc | 52 ++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

-- 
2.7.4

Comments

Bill Fischofer Aug. 18, 2016, 2:18 p.m. UTC | #1
On Thu, Aug 18, 2016 at 9:09 AM, Mike Holmes <mike.holmes@linaro.org> wrote:

> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

>


Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>



> ---

> v3:

>    use "non-embedded environments" (bill)

>

>  doc/process-guide/release-guide.adoc | 52 ++++++++++++++++++++++++++++++

> ++++++

>  1 file changed, 52 insertions(+)

>

> diff --git a/doc/process-guide/release-guide.adoc

> b/doc/process-guide/release-guide.adoc

> index 788eb6b..8ea147a 100644

> --- a/doc/process-guide/release-guide.adoc

> +++ b/doc/process-guide/release-guide.adoc

> @@ -83,6 +83,7 @@ repository.

>

>  All patches are acknowledged on the list as soon as they have been

> applied to

>  the repository.

> +No patch may be accepted that knowingly breaks git bisect.

>

>  === api-next ===

>  * api-next is always rebased on top of master when there is a release

> point in

> @@ -115,6 +116,57 @@ atomically as possible

>  * the maintainer updates the version number

>  * the maintainer tags the master branch

>

> +=== Long Term Support (LTS)

> +ODP is portable at two levels, at a recompiled common API level for

> maximum

> +performance, and in a more portable way at an ABI level which may

> sacrifice

> +some performance.

> +

> +==== odp-linux API and APB compatibility

> +In the odp-linux case, the Linux Operating System (OS) provides a

> mechanism for

> +ensuring ABI compatibility with the .so naming for shared libraries. This

> OS

> +specific number provides different definitions for the digits to the ODP

> API

> +version definition and will likely differ. Other OS'es may use other

> schemes.

> +

> +==== Vendor implementations

> +Vendors of ODP are said to be compatible with the ODP API if the

> implementation

> +can pass the validation test suite for the API. This means that

> supporting the

> +ABI mode is not required; a statically built and executed test suite is

> all that

> +is required.

> +

> +==== API compatibility

> +ODP allows implementations of the API to modify the structures. In this

> case

> +application portability is maintained through access functions to the

> data rather

> +than direct structure access. In an embedded use case this allows maximum

> +performance with the hardware structures mapping directly to the data

> structures

> +manipulated by the CPU. Applications are compiled for the target

> +system directly and are usually statically linked.

> +

> +==== ABI compatibility

> +In non-embedded environments where a possible performance penalty can be

> more

> +acceptable a shared library is likely to be used and it must maintain ABI

> +compatibility across that architecture. In this case applications do not

> require

> +recompiling.

> +

> +===== Checking which .so version number is required on change

> +To determine if the .so number should be changed the check-odp tool can

> provide

> +the answer. This tool provides a command line summary and a detailed html

> +analysis. This tool is based on the abi-compliance-checker

> +

> +[source,bash]

> +----

> +COMPARE_BRANCH=monarch_lts ./diff-abi.sh

> +

> +...

> +preparation, please wait ...

> +comparing ABIs ...

> +comparing APIs ...

> +creating compatibility report ...

> +result: COMPATIBLE

> +total "Binary" compatibility problems: 0, warnings: 0

> +total "Source" compatibility problems: 0, warnings: 0

> +....

> +----

> +

>  == Releases ==

>  All releases are from a tag in the master branch of the ODP git

>  repository. Recall that ODP consists of three separate components:

> --

> 2.7.4

>

>
Maxim Uvarov Aug. 19, 2016, 10:36 a.m. UTC | #2
Merged,
Maxim..

On 08/18/16 17:18, Bill Fischofer wrote:
> On Thu, Aug 18, 2016 at 9:09 AM, Mike Holmes <mike.holmes@linaro.org> wrote:

>

>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

>>

> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>

>

>

>> ---

>> v3:

>>     use "non-embedded environments" (bill)

>>

>>   doc/process-guide/release-guide.adoc | 52 ++++++++++++++++++++++++++++++

>> ++++++

>>   1 file changed, 52 insertions(+)

>>

>> diff --git a/doc/process-guide/release-guide.adoc

>> b/doc/process-guide/release-guide.adoc

>> index 788eb6b..8ea147a 100644

>> --- a/doc/process-guide/release-guide.adoc

>> +++ b/doc/process-guide/release-guide.adoc

>> @@ -83,6 +83,7 @@ repository.

>>

>>   All patches are acknowledged on the list as soon as they have been

>> applied to

>>   the repository.

>> +No patch may be accepted that knowingly breaks git bisect.

>>

>>   === api-next ===

>>   * api-next is always rebased on top of master when there is a release

>> point in

>> @@ -115,6 +116,57 @@ atomically as possible

>>   * the maintainer updates the version number

>>   * the maintainer tags the master branch

>>

>> +=== Long Term Support (LTS)

>> +ODP is portable at two levels, at a recompiled common API level for

>> maximum

>> +performance, and in a more portable way at an ABI level which may

>> sacrifice

>> +some performance.

>> +

>> +==== odp-linux API and APB compatibility

>> +In the odp-linux case, the Linux Operating System (OS) provides a

>> mechanism for

>> +ensuring ABI compatibility with the .so naming for shared libraries. This

>> OS

>> +specific number provides different definitions for the digits to the ODP

>> API

>> +version definition and will likely differ. Other OS'es may use other

>> schemes.

>> +

>> +==== Vendor implementations

>> +Vendors of ODP are said to be compatible with the ODP API if the

>> implementation

>> +can pass the validation test suite for the API. This means that

>> supporting the

>> +ABI mode is not required; a statically built and executed test suite is

>> all that

>> +is required.

>> +

>> +==== API compatibility

>> +ODP allows implementations of the API to modify the structures. In this

>> case

>> +application portability is maintained through access functions to the

>> data rather

>> +than direct structure access. In an embedded use case this allows maximum

>> +performance with the hardware structures mapping directly to the data

>> structures

>> +manipulated by the CPU. Applications are compiled for the target

>> +system directly and are usually statically linked.

>> +

>> +==== ABI compatibility

>> +In non-embedded environments where a possible performance penalty can be

>> more

>> +acceptable a shared library is likely to be used and it must maintain ABI

>> +compatibility across that architecture. In this case applications do not

>> require

>> +recompiling.

>> +

>> +===== Checking which .so version number is required on change

>> +To determine if the .so number should be changed the check-odp tool can

>> provide

>> +the answer. This tool provides a command line summary and a detailed html

>> +analysis. This tool is based on the abi-compliance-checker

>> +

>> +[source,bash]

>> +----

>> +COMPARE_BRANCH=monarch_lts ./diff-abi.sh

>> +

>> +...

>> +preparation, please wait ...

>> +comparing ABIs ...

>> +comparing APIs ...

>> +creating compatibility report ...

>> +result: COMPATIBLE

>> +total "Binary" compatibility problems: 0, warnings: 0

>> +total "Source" compatibility problems: 0, warnings: 0

>> +....

>> +----

>> +

>>   == Releases ==

>>   All releases are from a tag in the master branch of the ODP git

>>   repository. Recall that ODP consists of three separate components:

>> --

>> 2.7.4

>>

>>
diff mbox

Patch

diff --git a/doc/process-guide/release-guide.adoc b/doc/process-guide/release-guide.adoc
index 788eb6b..8ea147a 100644
--- a/doc/process-guide/release-guide.adoc
+++ b/doc/process-guide/release-guide.adoc
@@ -83,6 +83,7 @@  repository.
 
 All patches are acknowledged on the list as soon as they have been applied to
 the repository.
+No patch may be accepted that knowingly breaks git bisect.
 
 === api-next ===
 * api-next is always rebased on top of master when there is a release point in
@@ -115,6 +116,57 @@  atomically as possible
 * the maintainer updates the version number
 * the maintainer tags the master branch
 
+=== Long Term Support (LTS)
+ODP is portable at two levels, at a recompiled common API level for maximum
+performance, and in a more portable way at an ABI level which may sacrifice
+some performance.
+
+==== odp-linux API and APB compatibility
+In the odp-linux case, the Linux Operating System (OS) provides a mechanism for
+ensuring ABI compatibility with the .so naming for shared libraries. This OS
+specific number provides different definitions for the digits to the ODP API
+version definition and will likely differ. Other OS'es may use other schemes.
+
+==== Vendor implementations
+Vendors of ODP are said to be compatible with the ODP API if the implementation
+can pass the validation test suite for the API. This means that supporting the
+ABI mode is not required; a statically built and executed test suite is all that
+is required.
+
+==== API compatibility
+ODP allows implementations of the API to modify the structures. In this case
+application portability is maintained through access functions to the data rather
+than direct structure access. In an embedded use case this allows maximum
+performance with the hardware structures mapping directly to the data structures
+manipulated by the CPU. Applications are compiled for the target
+system directly and are usually statically linked.
+
+==== ABI compatibility
+In non-embedded environments where a possible performance penalty can be more
+acceptable a shared library is likely to be used and it must maintain ABI
+compatibility across that architecture. In this case applications do not require
+recompiling.
+
+===== Checking which .so version number is required on change
+To determine if the .so number should be changed the check-odp tool can provide
+the answer. This tool provides a command line summary and a detailed html
+analysis. This tool is based on the abi-compliance-checker
+
+[source,bash]
+----
+COMPARE_BRANCH=monarch_lts ./diff-abi.sh
+
+...
+preparation, please wait ...
+comparing ABIs ...
+comparing APIs ...
+creating compatibility report ...
+result: COMPATIBLE
+total "Binary" compatibility problems: 0, warnings: 0
+total "Source" compatibility problems: 0, warnings: 0
+....
+----
+
 == Releases ==
 All releases are from a tag in the master branch of the ODP git
 repository. Recall that ODP consists of three separate components: