On 17 January 2015 at 16:28, Bill Fischofer <[email protected]> wrote: > In the new model no buffers are queueable. Only events are queueable. But you can convert a buffer handle to the corresponding event handle and enqueue the event. Thus buffers must have the metadata that allows them to be enqueued and scheduled.
> Events can contain buffers, packets, timeouts, etc., but are logically > distinct from them as they are the queueable/schedulable entity. > > On Sat, Jan 17, 2015 at 6:16 AM, Jerin Jacob > <[email protected]> wrote: >> >> On Thu, Jan 15, 2015 at 05:40:08PM +0200, Petri Savolainen wrote: >> > This patches introduces odp_event_t and replaces with that the usage of >> > odp_buffer_t as the super class for other "buffer types". What used to >> > be a >> > buffer type is now an event type. >> >> Should we also introduce a new buffer type that NOT queueable to odp_queue >> ? >> If some application is using the buffers only for the storage then I think >> this >> new type make sense as queueable buffers will take more resources and >> additional meta data(for hardware buffer schedule manager) Wouldn't such buffers be more related to some type of malloc-like memory manager? ODP could use a multicore friendly memory manager for variable size objects. Could such a memory manager be implemented by HW and thus be considered as a part of the SoC abstraction layer? Or would it be a pure SW construct and basically just a utility library? >> >> >> > >> > There are some lines over 80 char, since those are caused by temporary >> > event <-> buffer, packet -> event -> buffer conversions and should be >> > cleaned up >> > from the implementation anyway. >> > >> > Petri Savolainen (15): >> > api: event: Add odp_event_t >> > api: event: odp_schedule and odp_queue_enq >> > api: event: schedule_multi and queue_enq_multi >> > api: event: odp_queue_deq >> > api: event: odp_queue_deq_multi >> > api: buffer: Removed odp_buffer_type >> > api: packet: Removed odp_packet_to_buffer >> > api: packet: Removed odp_packet_from_buffer >> > api: timer: Use odp_event_t instead of odp_buffer_t >> > api: crypto: Use odp_event_t instead of odp_buffer_t >> > linux-generic: crypto: Use packet alloc for packet >> > api: buffer_pool: Rename odp_buffer_pool.h to odp_pool.h >> > api: pool: Rename pool params and remove buffer types >> > api: pool: Rename odp_buffer_pool_ to odp_pool_ >> > api: config: Renamed ODP_CONFIG_BUFFER_POOLS >> > >> > example/generator/odp_generator.c | 38 ++--- >> > example/ipsec/odp_ipsec.c | 70 ++++---- >> > example/ipsec/odp_ipsec_cache.c | 4 +- >> > example/ipsec/odp_ipsec_cache.h | 2 +- >> > example/ipsec/odp_ipsec_loop_db.c | 2 +- >> > example/ipsec/odp_ipsec_loop_db.h | 12 +- >> > example/ipsec/odp_ipsec_stream.c | 20 +-- >> > example/ipsec/odp_ipsec_stream.h | 2 +- >> > example/l2fwd/odp_l2fwd.c | 28 +-- >> > example/packet/odp_pktio.c | 28 +-- >> > example/timer/odp_timer_test.c | 64 +++---- >> > platform/linux-generic/Makefile.am | 4 +- >> > platform/linux-generic/include/api/odp.h | 3 +- >> > platform/linux-generic/include/api/odp_buffer.h | 40 +++-- >> > .../linux-generic/include/api/odp_buffer_pool.h | 177 >> > ------------------- >> > .../linux-generic/include/api/odp_classification.h | 2 +- >> > platform/linux-generic/include/api/odp_config.h | 4 +- >> > platform/linux-generic/include/api/odp_crypto.h | 16 +- >> > platform/linux-generic/include/api/odp_event.h | 59 +++++++ >> > platform/linux-generic/include/api/odp_packet.h | 29 ++-- >> > platform/linux-generic/include/api/odp_packet_io.h | 4 +- >> > .../linux-generic/include/api/odp_platform_types.h | 10 +- >> > platform/linux-generic/include/api/odp_pool.h | 189 >> > +++++++++++++++++++++ >> > platform/linux-generic/include/api/odp_queue.h | 32 ++-- >> > platform/linux-generic/include/api/odp_schedule.h | 32 ++-- >> > platform/linux-generic/include/api/odp_timer.h | 56 +++--- >> > .../linux-generic/include/odp_buffer_inlines.h | 6 +- >> > .../linux-generic/include/odp_buffer_internal.h | 20 ++- >> > .../include/odp_buffer_pool_internal.h | 22 +-- >> > .../linux-generic/include/odp_crypto_internal.h | 2 +- >> > .../linux-generic/include/odp_packet_internal.h | 8 +- >> > platform/linux-generic/include/odp_packet_socket.h | 10 +- >> > platform/linux-generic/odp_buffer.c | 12 +- >> > platform/linux-generic/odp_buffer_pool.c | 133 >> > +++++++-------- >> > platform/linux-generic/odp_crypto.c | 29 ++-- >> > platform/linux-generic/odp_event.c | 19 +++ >> > platform/linux-generic/odp_packet.c | 34 ++-- >> > platform/linux-generic/odp_packet_io.c | 14 +- >> > platform/linux-generic/odp_packet_socket.c | 10 +- >> > platform/linux-generic/odp_queue.c | 18 +- >> > platform/linux-generic/odp_schedule.c | 48 +++--- >> > platform/linux-generic/odp_timer.c | 35 ++-- >> > test/performance/odp_scheduling.c | 105 +++++++----- >> > 43 files changed, 806 insertions(+), 646 deletions(-) >> > delete mode 100644 platform/linux-generic/include/api/odp_buffer_pool.h >> > create mode 100644 platform/linux-generic/include/api/odp_event.h >> > create mode 100644 platform/linux-generic/include/api/odp_pool.h >> > create mode 100644 platform/linux-generic/odp_event.c >> > >> > -- >> > 2.2.2 >> > >> > >> > _______________________________________________ >> > lng-odp mailing list >> > [email protected] >> > http://lists.linaro.org/mailman/listinfo/lng-odp >> >> _______________________________________________ >> lng-odp mailing list >> [email protected] >> http://lists.linaro.org/mailman/listinfo/lng-odp > > > > _______________________________________________ > lng-odp mailing list > [email protected] > http://lists.linaro.org/mailman/listinfo/lng-odp > _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
