On 6 November 2015 at 18:54, Ivan Khoronzhuk <[email protected]> wrote:
>
>
> On 06.11.15 12:44, [email protected] wrote:
>>
>> From: Hongbo Zhang <[email protected]>
>>
>> In the default dummy function systemcpu(), only cpu_hz[0] and model_str[0]
>> are set to dummy values, then in the validation code if iterate each CPU,
>> cores other than core 0 report failure, this patchs pad all the arrays to
>> default values to pass validation.
>>
>> For bug: https://bugs.linaro.org/show_bug.cgi?id=1870
>>
>> Signed-off-by: Hongbo Zhang <[email protected]>
>
>
>
> My opinion is to:
> - deprecate odp_cpu_hz_max(), odp_cpu_hz_max_id(), odp_cpu_hz_id() calls.
> - delete validation tests for them
> - make odp_cpu_hz_max() to local for linux-generic cpu cycle API
> - choose some approach to get freq close to max with existing approaches
> (w/o kernel modifiactons)
> - for ARM this parameter is not needed as number of CPU cycles is get
> directly from register
> (I will send patch soon, but access should be enabled by implementor,
> if access is not enabled some general approach should be used, but we need
> to think how to check if access is enabled)
> and cpu_freq_max is not used to figure out fake number of cpu cycles.
>
Yes I saw the opinion and was thinking about it, a bit more time is needed.

>
> But as temp fix can be added. I will try eliminate this impact anyway.
> So,
> Reviewed-by: Ivan Khoronzhuk <[email protected]>
>
>
>> ---
>>   platform/linux-generic/odp_system_info.c | 11 ++++++++---
>>   1 file changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/platform/linux-generic/odp_system_info.c
>> b/platform/linux-generic/odp_system_info.c
>> index 8bd1584..944d29f 100644
>> --- a/platform/linux-generic/odp_system_info.c
>> +++ b/platform/linux-generic/odp_system_info.c
>> @@ -358,7 +358,7 @@ static int systemcpu(odp_system_info_t *sysinfo)
>>
>>   static int systemcpu(odp_system_info_t *sysinfo)
>>   {
>> -       int ret;
>> +       int ret, i;
>>
>>         ret = sysconf_cpu_count();
>>         if (ret == 0) {
>> @@ -371,10 +371,15 @@ static int systemcpu(odp_system_info_t *sysinfo)
>>         sysinfo->huge_page_size = huge_page_size();
>>
>>         /* Dummy values */
>> -       sysinfo->cpu_hz[0]       = 1400000000;
>>         sysinfo->cache_line_size = 64;
>>
>> -       strncpy(sysinfo->model_str[0], "UNKNOWN",
>> sizeof(sysinfo->model_str));
>> +       for (i = 0; i < MAX_CPU_NUMBER; i++) {
>> +               sysinfo->cpu_hz[i] = 1400000000;
>> +               ODP_DBG("temporary dummy CPU frequency\n");
>> +
>> +               strcpy(sysinfo->model_str[i], "UNKNOWN");
>> +               ODP_DBG("temporary dummy CPU model string\n");
>> +       }
>>
>>         return 0;
>>   }
>>
>
> --
> Regards,
> Ivan Khoronzhuk
>
> _______________________________________________
> 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

Reply via email to