From patchwork Tue Aug 2 19:19:54 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bill Fischofer X-Patchwork-Id: 73180 Delivered-To: patch@linaro.org Received: by 10.140.29.52 with SMTP id a49csp327615qga; Tue, 2 Aug 2016 12:20:11 -0700 (PDT) X-Received: by 10.55.141.193 with SMTP id p184mr80024634qkd.47.1470165611213; Tue, 02 Aug 2016 12:20:11 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id 93si2375990qks.112.2016.08.02.12.20.10; Tue, 02 Aug 2016 12:20:11 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 2E80E685DB; Tue, 2 Aug 2016 19:20:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id CCEAC685B3; Tue, 2 Aug 2016 19:20:05 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 2100F68582; Tue, 2 Aug 2016 19:20:00 +0000 (UTC) Received: from mail-oi0-f47.google.com (mail-oi0-f47.google.com [209.85.218.47]) by lists.linaro.org (Postfix) with ESMTPS id 0FB726746C for ; Tue, 2 Aug 2016 19:19:58 +0000 (UTC) Received: by mail-oi0-f47.google.com with SMTP id l65so250481387oib.1 for ; Tue, 02 Aug 2016 12:19:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=x+emZBw0mJnhUD9z6bYNewgZxzUPWUVB9p39k3tIoEY=; b=SjawdTi3Yr2W76RDiJnowN4VLv4WWKRarxa3fTfOZ+s01nrRm97K5/mqs45cVmtfqp N8wKiNOiwN+Ujr30oV9c/IYt0dOrLIm7qLgDXcUGKgi+ls/t3lN9ue2RGTQtQ2HFVv2b BlrnA9vMeMuuFI46dLQK8KYwPqKoyUDY8xcx2W2987fa3xNnvhoQDw5QepfaVK8LwADG HswMU3Ic/cOkZFg3wblUUsaNhWK5il9s+iYI13/9t4V43HPXkGOOiEIl8WprNFTzuGAA poKEJ/UxnHEgzB4JoAxGhE3+iUwrP+EGJJ1W7iw+D4dQKzEt8rT5gZkJZsD9mIGaoeEk ZFfQ== X-Gm-Message-State: AEkoouvL6TbsDmW5Wn8MvIf6z0LrY4CjJXZo/xp8F56gBgcal6pY1ErgRxBvMnkS6k8ytLFT4jY= X-Received: by 10.202.171.80 with SMTP id u77mr39301870oie.29.1470165596760; Tue, 02 Aug 2016 12:19:56 -0700 (PDT) Received: from localhost.localdomain (cpe-66-68-129-43.austin.res.rr.com. [66.68.129.43]) by smtp.gmail.com with ESMTPSA id 1sm1930793oto.2.2016.08.02.12.19.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 02 Aug 2016 12:19:55 -0700 (PDT) From: Bill Fischofer To: lng-odp@lists.linaro.org Date: Tue, 2 Aug 2016 14:19:54 -0500 Message-Id: <1470165594-31244-1-git-send-email-bill.fischofer@linaro.org> X-Mailer: git-send-email 2.7.4 X-Topics: Architecture patch Subject: [lng-odp] [MONARCH_LTS PATCHv3] changelog: update for v1.11.0.0 X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Signed-off-by: Bill Fischofer --- CHANGELOG | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) -- 2.7.4 diff --git a/CHANGELOG b/CHANGELOG index d8230cd..1d652a8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,125 @@ +== OpenDataPlane (1.11.0.0) +ODP v1.11.0 is the base tag and branch for the Monarch LTS (Long Term Support) +release of ODP. + +=== New Features +==== APIs +As part of the final Monarch LTS API set, a minor change to the +`odp_tm_egress_t` struct was made to better reflect the capabilities of +SoC platforms targeting Monarch support. This change adds the boolean +`egress_fcn_supported` that indicates whether TM systems support an egress +function. In addition, each TM system is now associated with a PktIO rather +than a PktOUT queue. This struct is input to the `odp_tm_create()` API and +output from the `odp_tm_find()` API. + +==== Strict Priority (SP) Scheduler +Building on the modular scheduler framework introduced in v1.10.1.0, An +alternate Strict Priority (SP) scheduler is now available. The SP scheduler +is selected when ODP is configured with the `--enable_schedule_sp` option. + +The SP scheduler is designed to favor low-latency processing of high priority +work at the expense of throughput. This is considered experimental code at +this point and should be treated as such by those wishing to use it. + +=== Bug Fixes +==== Scheduler PktIO Cleanup +The scheduler now properly cleans up PktIOs operating in SCHEDULE mode following +`odp_pktio_close()` calls. This resolves +https://bugs.linaro.org/show_bug.cgi?id=2301[Bug 2301]. + +==== Chksum Routine C++ conformance +The odph_chksum() helper routine is now C++ conformant. This resolves +https://bugs.linaro.org/show_bug.cgi?id=2302[Bug 2302]. + +==== User Area Copying +The `odp_packet_copy()` API now copies the packet user area as part of its +processing and the packet validation test has been enhanced to verify that this +is done properly. This resolves +https://bugs.linaro.org/show_bug.cgi?id=2310[Bug 2310]. + +==== Use of Pool 0 as a Timeout Pool +The internal definition of `ODP_TIMEOUT_INVALID` was changed in `odp-linux` to +enable the use of Pool 0 as a timeout pool. This resolves +https://bugs.linaro.org/show_bug.cgi?id=2316[Bug 2316]. + +=== Packaging +==== libodphelper +To facilitate API tracking, `libodphelper.so` has been split out from +`libodp.so`. + +==== Helper dependencies +To avoid circular dependencies that cause issues when packaging ODP as a +shared library, the `odp-linux` implementation no longer makes and use of +the ODP helper library. + +=== Performance +Performance enhancements in the `odp-linux` reference implementation have been +made in PktIO routines and the packet classifier. + +=== General Cleanup +General cleanup throughout has resulted in adding proper termination calls to +ODP examples as well as miscellaneous Doxygen corrections. Additionally, the +`odp-linux` code base has been cleaned up by removing "To Dos" as well as +extraneous `#includes` for extra C headers and dependencies on linux headers +for improved portability. + +=== Validation +==== Queue Capability Test +The Queue validation test now properly exercises the `odp_queue_capability()` +API and attempts to create the maximum reported number of supported queues. + +==== Platform Tests +The platform-specific tests have been moved from `platform/linux-generic/test` +to `test/platform/linux-generc` so that all tests are now found under a +single `test` directory. + +=== Examples +The ODP `examples` directory has been cleaned up and numerous corrections to +existing examples have been made to add proper termination paths, etc. In +addition, a new "hello world" example (`odp_hello.c`) has been added that +illustrates the basic startup and shutdown steps needed for all ODP +applications. As a simple stand-alone application is is also a good initial +build tests for new ODP implementations. + +=== Documentation +==== Pure API Guide +The Doxygen API guide has been split so that both a "pure" version that is +platform-independent and retains unresolved ODP abstract types as well as +an implementation-specific version (for `odp-linux`) that shows +platform-specific `typedef` and `enum` values. + +==== Implementation Guide Improvements +The _ODP Implementer's Guide_ has been enhanced with a section on +implementation considerations, including issues surrounding the definition of +Application Binary Interfaces (ABIs). + +=== Known Issues +==== https://bugs.linaro.org/show_bug.cgi?id=2309[Bug 2309] +The timer validation tests have seen occasional failures when run on systems +containing a larger number of CPUs (typically 24 or more). + +==== https://bugs.linaro.org/show_bug.cgi?id=2386[Bug 2386] +ODP cannot be compiled using the -m32 option to generate 32-bit code on a +64-bit platform when using GCC 4.9 (the default GCC found in Ubuntu 15.04). +This is due to a known bug in GCC 4.9 and is closed as a permanent restriction. + +==== https://bugs.linaro.org/show_bug.cgi?id=2402[Bug 2402] +Doxygen generates a warning for `ODP_BIG_ENDIAN_BITFIELD` when compiling on +little endian systems. A similar warning for `ODP_LITTLE_ENDIAN_BITFIELD` is +issued when compiling on big endian systems. + +==== https://bugs.linaro.org/show_bug.cgi?id=2444[Bug 2444] +The traffic manager cannot be used with two PktIOs simultaneously. That is, +`odp-linux` does not properly support applications that create more than one +TM system. This is a bug in the `odp-linux` implementation that will be +corrected. It is not a limit of the architecture or other ODP implementations. + +==== https://bugs.linaro.org/show_bug.cgi?id=2449[Bug 2449] +Packet queue pool causes out-of-bounds accesses. This is closely related +to https://bugs.linaro.org/show_bug.cgi?id=2444[Bug 2444] and reflects that +`odp-linux` does not properly support multiple TM systems. This is scheduled +for correction in the first maintenance update for this ODP implementation. + == OpenDataPlane (1.10.1.0) === New Features