OK, sent v2 with level changed to v1.11.1.0 On Thu, Nov 17, 2016 at 3:17 PM, Mike Holmes <mike.hol...@linaro.org> wrote:
> On 16 November 2016 at 22:06, Bill Fischofer <bill.fischo...@linaro.org> > wrote: > > Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org> > > --- > > CHANGELOG | 211 ++++++++++++++++++++++++++++++ > ++++++++++++++++++++++++++++++++ > > 1 file changed, 211 insertions(+) > > > > diff --git a/CHANGELOG b/CHANGELOG > > index d8230cd..3ab7354 100644 > > --- a/CHANGELOG > > +++ b/CHANGELOG > > @@ -1,3 +1,214 @@ > > +== OpenDataPlane (1.10.2.0) > > https://git.linaro.org/lng/odp.git > > latest tag is v1.11.0.0_monarch should the mainline be 1.11.1.0 > since mainline is monarch + latest stuff > > > + > > +=== New Features > > + > > +==== APIs > > +ODP v1.10.2.0 is a minor API revision level and introduces a small > change to > > +the Traffic Manager API as well as some documentation clarification > surrounding > > +other APIs. > > + > > +==== Traffic Manager Egress Function > > +The `odp_tm_egress_t` struct has been changed to add an explicit Boolean > > +(`egress_fcn_supported`) that indicates whether the TM system supports > > +a user-provided egress function. When specified this function is called > to > > +"output" a packet rather than having TM transmit it directly to a PktIO > > +interface. > > + > > +==== Traffic Manager Coupling Change > > +The `odp_tm_egress_t` struct has been changed to associate a TM system > with an > > +output `odp_pktio_t` rather than the previous `odp_pktout_queue_t`. > This makes > > +an explicit 1-to-1 map between a TM system and a PktIO interface. > > + > > +==== Default huge page size clarification > > +The documentation for the `odp_sys_huge_page_size()` API has been > reworded to > > +clarify that this API refers to default huge page size. > > + > > +==== Strict Priority (SP) Scheduler > > +Building on the modular scheduler framework added in v1.10.1.0, an > alternate > > +Strict Priority (SP) Scheduler is now available for latency-sensitive > > +workloads. Applications wishing to use the SP scheduler should specify > > +the `./configure` option `--enable-schedule-sp`. This scheduler > emphasizes low > > +latency processing of high priority events at the expense of > throughput. This > > +alternate scheduler is considered experimental and should not be used > for > > +production at this time. > > + > > +==== Application Binary Interface (ABI) Support > > +Support is added to enable ODP applications to be binary compatible > across > > +different implementations of ODP sharing the same Instruction Set > Architecture > > +(ISA). This support introduces a new `configure` option: > > + > > +`--enable-abi-compat=yes`:: > > +This is the default and specifies that the ODP library is to be built to > > +support ABI compatibility mode. In this mode ODP APIs are never > inlined. ABI > > +compatibility ensures maximum application portability in cloud > environments. > > + > > +`--enable-abi-compat=no`:: > > +Specify this option to enable the inlining of ODP APIs. This may result > in > > +improved performance at the cost of ABI compatibility and is suitable > for > > +applications running in embedded environments. > > + > > +Note that ODP applications retain source code portability between ODP > > +implementations regardless of the ABI mode chosen. To move to a > different ODP > > +application running on a different ISA, code need simply be recompiled > against > > +that target ODP implementation. > > + > > +==== SCTP Parsing Support > > +The ODP classifier adds support for recognizing Stream Control > Transmission > > +Protocol (SCTP) packets. The APIs for this were previously not > implemented. > > + > > +=== Packaging and Implementation Refinements > > + > > +==== Remove dependency on Linux headers > > +ODP no longer has a dependency on Linux headers. This will help make the > > +odp-linux reference implementation more easily portable to non-Linux > > +environments. > > + > > +==== Remove dependency on helpers > > +The odp-linux implementation has been made independent of the helper > library > > +to avoid circular dependency issues with packaging. Helper functions > may use > > +ODP APIs, however ODP implementations should not use helper functions. > > + > > +==== Reorganization of `test` directory > > +The `test` directory has been reorganized to better support a unified > approach > > +to ODP component testing. API tests now live in > > +`test/common_plat/validation/api` instead of the former > > +`test/validation`. With this change performance and validation tests, > as well > > +as common and platform-specific tests can all be part of a unified test > > +hierarchy. > > + > > +The resulting test tree now looks like: > > + > > +.New `test` directory hierarchy > > +----- > > +test > > +├── common_plat > > +│ ├── common > > +│ ├── m4 > > +│ ├── miscellaneous > > +│ ├── performance > > +│ └── validation > > +│ └── api > > +│ ├── atomic > > +│ ├── barrier > > +│ ├── buffer > > +│ ├── classification > > +│ ├── cpumask > > +│ ├── crypto > > +│ ├── errno > > +│ ├── hash > > +│ ├── init > > +│ ├── lock > > +│ ├── packet > > +│ ├── pktio > > +│ ├── pool > > +│ ├── queue > > +│ ├── random > > +│ ├── scheduler > > +│ ├── shmem > > +│ ├── std_clib > > +│ ├── system > > +│ ├── thread > > +│ ├── time > > +│ ├── timer > > +│ └── traffic_mngr > > +├── linux-generic > > +│ ├── m4 > > +│ ├── mmap_vlan_ins > > +│ ├── performance > > +│ ├── pktio_ipc > > +│ ├── ring > > +│ └── validation > > +│ └── api > > +│ ├── pktio > > +│ └── shmem > > +└── m4 > > +----- > > + > > +==== Pools > > +The maximum number of pools that may be created in the odp-linux > reference > > +implementation has been raised from 16 to 64. > > + > > +==== Upgrade to DPDK 16.07 > > +The DPDK pktio support in odp-linux has been upgraded to work with DPDK > 16.07. > > +A number of miscellaneous fixes and performance improvements in this > support > > +are also present. > > + > > +==== PktIO TAP Interface Classifier Support > > +Packet I/O interfaces operating in TAP mode now can feed packets to the > ODP > > +classifier the same as other pktio modes can do. > > + > > +=== Performance Improvements > > + > > +==== Thread-local cache optimizations > > +The thread-local buffer cache has been reorganized and optimized for > burst-mode > > +operation, yielding a measurable performance gain in almost all cases. > > + > > +==== Burst-mode buffer allocation > > +The scheduler and pktio components have been reworked to use burst-mode > > +buffer allocation/deallocation, yielding a measurable performance gain > in > > +almost all cases. > > + > > +==== Burst-mode queue operations > > +ODP queues internally now attempt to use burst-mode enq/deq operations > to > > +accelerate performance where applicable. > > + > > +==== Ring-based Scheduler Priority Queues > > +The ODP scheduler has been enhanced to use ring-based priority queues, > resulting > > +in significantly better scalability in many core environments. > > + > > +==== GitHub Automation Support > > +ODP now supports the Travis framework needed to trigger CI automation in > > +conjunction with GitHub. This support is considered experimental for > now. > > + > > +=== Examples > > + > > +==== New `l3fwd` Example > > +A new example application is provided that illustrates use > > +of ODP for simple Layer 3 forwarding across multiple interfaces. > > + > > +==== "Hello World" Example Application > > +A basic "hello world" ODP application has been added to the `example` > > +directory to illustrate the basic setup and control flow needed by ODP > > +applications. > > + > > +=== Documentation > > + > > +==== Pure API Documentation > > +ODP now generates "pure" (implementation independent) doxygen > documentation in > > +addition to the specific documentation for the odp-linux > implementation. The > > +pure version is applicable to any ODP implementation as it simply > describes > > +the ODP API specification. Implementation-specific versions of this > > +documentation describe both the APIs as well as specifics concerning > typedefs, > > +enums, etc. This should help clarify what aspects of ODP are platform > > +independent. > > + > > +==== Clarify ODP Thread Definition > > +The definition of an ODP thread in odp-linux has been clarified to > specify that > > +for this implementation ODP threads are Linux pthreads or Linux > processes. > > +Currently threads as processes is considered experimental in odp-linux. > > + > > +=== Bug Fixes > > +Numerous refinements have been incorporated to make > > +validation tests more robust in API coverage as well as correcting > corner > > +cases in the implementation of many ODP APIs. Notable fixes include: > > + > > +==== https://bugs.linaro.org/show_bug.cgi?id=2316[Bug 2316] > > +`ODP_TIMEOUT_INVALID` is now defined consistently with other pool > elements so > > +the restriction on using Pool 0 as a timer pool is removed. > > + > > +==== https://bugs.linaro.org/show_bug.cgi?id=2310[Bug 2310] > > +The `odp_packet_copy()` API now correctly handles user areas between > pools that > > +are configured with different sized per-packet user area definitions. > > + > > +==== https://bugs.linaro.org/show_bug.cgi?id=2571[Bug 2571] > > +Corrects the implementation of AES GCM decryption in the ODP crypto API. > > + > > +=== Known Issues > > + > > +==== https://bugs.linaro.org/show_bug.cgi?id=2309[Bug 2309] > > +The Timer validation test fails sporadically in environments with high > core > > +counts. > > + > > == OpenDataPlane (1.10.1.0) > > > > === New Features > > -- > > 2.7.4 > > > > > > -- > Mike Holmes > Program Manager - Linaro Networking Group > Linaro.org │ Open source software for ARM SoCs > "Work should be fun and collaborative, the rest follows" >