On Mon, Jan 19, 2015 at 11:26:04AM +0100, Ola Liljedahl wrote: > On 17 January 2015 at 16:28, Bill Fischofer <bill.fischo...@linaro.org> 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.
Then its like a queueable buffer only. > > > 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 > > <jerin.ja...@caviumnetworks.com> 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? No, I was considering the abstraction for the fixed size buffer pool only. The new type can used to allocate a buffer pool from hardware fixed size buffer manager without any metadata for queueable. something like, pool = odp_buffer_pool_create(); odp_buffer_t x = odp_buffer_alloc(pool); // for queueable buffers odp_buffer_xxx_t x = odp_buffer_xxx_alloc(pool);// for non queueable buffers, only for storage > > >> > >> > >> > > >> > 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 > >> > lng-odp@lists.linaro.org > >> > http://lists.linaro.org/mailman/listinfo/lng-odp > >> > >> _______________________________________________ > >> lng-odp mailing list > >> lng-odp@lists.linaro.org > >> http://lists.linaro.org/mailman/listinfo/lng-odp > > > > > > > > _______________________________________________ > > lng-odp mailing list > > lng-odp@lists.linaro.org > > http://lists.linaro.org/mailman/listinfo/lng-odp > > _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org http://lists.linaro.org/mailman/listinfo/lng-odp