On 24.04.2017 10:06, Savolainen, Petri (Nokia - FI/Espoo) wrote:
>>> +
>>> +void odp_sys_info_print(void)
>>> +{
>>> +       printf("\n"
>>> +              "ODP system info\n"
>>> +              "---------------\n"
>>> +              "ODP API version: %s\n"
>>> +              "ODP impl name:   %s\n"
>>> +              "CPU model:       %s\n"
>>> +              "CPU freq (hz):   %" PRIu64 "\n"
>>> +              "Cache line size: %i\n"
>>> +              "CPU count:       %i\n"
>>> +              "\n",
>>> +              odp_version_api_str(), odp_version_impl_name(),
>>> +              odp_cpu_model_str(), odp_cpu_hz_max(),
>>> +              odp_sys_cache_line_size(), odp_cpu_count());
>>> +
>>> +       sys_info_print_arch();
>>> +}
>>
>> printf should be changed to ODP_LOG.
> 
> Log functions cannot handle inttypes (PRIu64) directly, but I'll try snprintf 
> + ODP_PRINT().
> 


how about just returning pointer to system info text?

char *buf = odp_sys_get_info();

printf(buf);

Maxim.


>>
>> What is the purpose of this API? There are commands in various OS to
>> provide the system information. If an application wants to print the
>> system information, it could do that using those commands. Those
>> commands also provide more rich information than what is provided
>> here. For ex: What is the amount of memory available, the frequency of
>> the memory, number of memory channels, cache size (L1i, L1d, L2, L3)
>> etc
> 
> Answered that for 1/8. The beef here is sys_info_print_arch() call, which 
> prints out tens of x86 cpu flags on a x86 system. This can print out 
> anything, hundreds of HW details that Linux do not know about / care about / 
> do not give you API. It's for implementer to print out all the debug 
> information about the system.
> 
> -Petri
> 
> 

Reply via email to