mbox series

[API-NEXT,v2,0/4] Packet references as copy

Message ID 1487161772-632-1-git-send-email-petri.savolainen@linaro.org
Headers show
Series Packet references as copy | expand

Message

Petri Savolainen Feb. 15, 2017, 12:29 p.m. UTC
Change packet references API specification to enable implementation as packet 
copy. Remove validation test cases which test for out-of-range inputs. 
Generally, results are undefined for bad or out-of-range inputs. Update 
validation tests with the API change. Greatly simplify packet reference 
implementation by reverting the previous one and adding a packet copy based 
implementation. When the first reference implementation is simple, 
performance and simplicity of the current (single reference) code base is 
mainteined. Performance of multi-reference packets can be upgraded gradually 
as long as performance and code simplicity are not sacrificed.

v2:
 - highlight in API that zero copy is default behaviour
 - simplified odp_packet_ref_static() implementation


Petri Savolainen (4):
  api: packet: references may be implemented as copy
  validation: packet: remove non compatible tests
  Revert "linux-generic: packet: implement reference apis"
  linux-gen: packet: implement references as copy

 include/odp/api/spec/packet.h                      |  21 +-
 .../linux-generic/include/odp_packet_internal.h    |  85 +--
 platform/linux-generic/odp_packet.c                | 610 ++++++---------------
 test/common_plat/validation/api/packet/packet.c    | 241 +++++---
 4 files changed, 356 insertions(+), 601 deletions(-)

-- 
2.8.1

Comments

Bill Fischofer Feb. 15, 2017, 2:29 p.m. UTC | #1
For Parts 1 and 2 only:

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



On Wed, Feb 15, 2017 at 6:29 AM, Petri Savolainen
<petri.savolainen@linaro.org> wrote:
> Change packet references API specification to enable implementation as packet

> copy. Remove validation test cases which test for out-of-range inputs.

> Generally, results are undefined for bad or out-of-range inputs. Update

> validation tests with the API change. Greatly simplify packet reference

> implementation by reverting the previous one and adding a packet copy based

> implementation. When the first reference implementation is simple,

> performance and simplicity of the current (single reference) code base is

> mainteined. Performance of multi-reference packets can be upgraded gradually

> as long as performance and code simplicity are not sacrificed.

>

> v2:

>  - highlight in API that zero copy is default behaviour

>  - simplified odp_packet_ref_static() implementation

>

>

> Petri Savolainen (4):

>   api: packet: references may be implemented as copy

>   validation: packet: remove non compatible tests

>   Revert "linux-generic: packet: implement reference apis"

>   linux-gen: packet: implement references as copy

>

>  include/odp/api/spec/packet.h                      |  21 +-

>  .../linux-generic/include/odp_packet_internal.h    |  85 +--

>  platform/linux-generic/odp_packet.c                | 610 ++++++---------------

>  test/common_plat/validation/api/packet/packet.c    | 241 +++++---

>  4 files changed, 356 insertions(+), 601 deletions(-)

>

> --

> 2.8.1

>