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 > >