On 11 June 2015 at 22:30, Mike Holmes <[email protected]> wrote:
> ODP helper should be cleaned up so that it only depends on the ODP public > API and does not require implementations to provide internal platform > support for the helpers. This is compounded by the notion that helpers > should generally be callable before an odp_init call, indeed you might > expect to be able to use odph_rings without calling any ODP_API. Neither of > these goals if met currently. > > Assuming that helpers should not use implementation internals we need to > remove the following internal includes from the helpers :- > > odp_spin_internal.h > And this file and its content are misnamed. odp_spin_internal.h defines the function odp_spin() which does *not* spin (loop), it merely pauses for a few cycles. odp_pause() would be a batter name. odp_internal.h > odp_debug_internal.h > odp_align_internal.h > > I tried to clean this up and was successful with minimal change except > that the ring helper implementation calls odp_spin() which is a more > complex internal function of linux-generic. > > Given that Maxim wants to implement linux-generic PKTIO- IPC on the ring > implementation that makes a mess:- > > Linux-generic will now depend on an odp helper that depends on the > linux-generic internal implementation which is a bit of a loop. > In the case of linux-generic it would make sense to make the ring > functionality part of the internal implementation and drop it as a helper. > Currently no test or application uses the ring helper so there would be no > impact at all to this move. > > Since the ring is not a HW abstraction its API does not belong in the ODP > API in my opinion, so I would keep the ring as an internal API of the > linux-generic implementation. Derived works such as ODP-DPDK, ODP-NETMAP > and ODP-KS2 can of course use the existing mechanisms to reuse the > internal ring code for their implementations. > > Summary: > > As part of the decoupling I propose moving helper/ring.c -> > platform/linux-generic/ring.c > > -- > Mike Holmes > Technical Manager - Linaro Networking Group > Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs > > > > _______________________________________________ > lng-odp mailing list > [email protected] > https://lists.linaro.org/mailman/listinfo/lng-odp > >
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
