On Sep 1, 2014, at 3:07 AM, Savolainen, Petri (NSN - FI/Espoo) 
<[email protected]> wrote:

>> diff --git a/platform/linux-generic/odp_init.c b/platform/linux-
>> generic/odp_init.c
>> index 5b7e192..f595def 100644
>> --- a/platform/linux-generic/odp_init.c
>> +++ b/platform/linux-generic/odp_init.c
>> @@ -8,13 +8,18 @@
>>   #include <odp_internal.h>
>>   #include <odp_debug.h>
>> 
>> -
>> -int odp_init_global(void)
>> +int odp_init_global(odp_global_init_t *params  ODP_UNUSED,
>> +                 odp_global_platform_init_t *platform_params ODP_UNUSED)
>>   {
>>        odp_thread_init_global();
>> 
>>        odp_system_info_init();
>> 
>> +     if (odp_init_platform(platform_params)) {
>> platform_params is used here, so remove ODP_UNUSED from argument list.
> 
>>> On the other hand, it would be better to remove odp_init_platform()
>>> altogether since does not do anything. It's better to add it when actually 
>>> used.
>>> The order of init calls is very important, e.g. now you could not allocate 
>>> shared
>>> memory in odp_init_platform() because it's executed before shm init...
>>  odp_init_platform() does do something for DPDK / KS2 and we need a place 
>> holder because
>> we want this to be shared between implementations don't we ?
>> This is the stuff that must happen before any ODP init starts to satisfy the 
>> platform SDK
> 
> Internals of odp_init_global() is totally platform independent - it cannot be 
> shared in general. It's HW/OS/ODP implementation dependent what needs to be 
> initialized in global init, and in which order (e.g. HW spinlocks before shm, 
> shm before barriers, etc.).

All of the platform dependent inits should be in the odp_init_platform() and 
the calls from odp_init() should be generic for all Linux platforms. The 
odp_init_platform() should be close to the bottom of the odp_init() routine as 
no routine called before the platform init should require any thing from the 
platform.

If someone can point out why odp_init() is not generic with specific examples 
that would help as I do not see any of the above examples as being platform 
specific. Why would sum, spin locks and barriers (which are linux features) 
need to be in the platform.
> 
> So, if odp_init_platform() is empty for linux-generic, it's better to leave 
> it out. Also it may not be even one call, the platform_params maybe passed 
> all over the init calls.

We need the place holder for the function even if it is empty, besides it does 
not hurt anything to have the function. It maybe we need to add something to 
the linux-generic at some point.
> 
> 
> -Petri
> 
> 
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp

Keith Wiles, Principal Technologist with CTO office, Wind River mobile 
972-213-5533


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to