On 15 April 2015 at 12:27, Maxim Uvarov <[email protected]> wrote:

> Hello Ola,
>
> I have some questions about odp timers, can you please provide expertise
> for that?
>
> odp_timeout_alloc() use pool and calls odp_buffer_alloc(pool).
>
The application may use this call to allocate a timeout event. The mapping
to ODP buffers is internal. The application can also provide its own events
(e.g. buffers, packets) to use as the timeout notification when the timer
expires.

Petri added the odp_timeout_alloc() and odp_timeout_free() calls as part of
the migration to events. I am not sure the current solution is exactly what
we want.


>
> Is it supposed that timeout buffer carries packet data to be send? Is
> there is requirement to allocate that from pool memory which can be used
> for packet transition?
>
The specific timeout event must be allocated from a timeout pool but a
custom timeout notification can be any event type, including a packet.
Timer expiration could then enqueue the packet on some output queue.


>
> Looks like timer carries only user_ptr and timer structs.
>
Yes and expiration time, 3x64 bits.


>
> So that it should be possible to use linux-generic timers for other
> platforms like dpdk almost as is.
>
Yes, Taras wants to do this for Keystone2 as well. There are still some
problems, e.g. timeout events are a special type also on the implementation
level (buffer header + expiration/user_ptr/timer). I think Keystone2 only
support a generic buffer type. I will try to implement timeouts using
buffers (and not using the buffer header), then this design should port
without problems. I have promised Taras to look into this any second now.



> Thanks,
> Maxim.
>
>
>
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to