yes, max freq is cached(in legacy variable cpu_hz, maybe renaming it to cpu_hz_mx is better), and current freq isn't.
On Tuesday, 29 December 2015, Maxim Uvarov <[email protected]> wrote: > On 12/29/2015 16:43, Savolainen, Petri (Nokia - FI/Espoo) wrote: > >> There are also those max freq API calls. Maybe it's just for diagnostics >> or logging purposes, but it's valuable information if the system you are >> running on is setup for maximum frequency, or if it's scaling the frequency. >> >> These are exactly the figures I'd want to see (sampled) in my log. >> >> -Petri >> > Ok, that case in implementation that calls should parse files each time. > Not cache them in sysinfo struct. > > Maxim. > > >> -----Original Message----- >>> From: lng-odp [mailto:[email protected]] On Behalf Of EXT >>> Maxim Uvarov >>> Sent: Tuesday, December 29, 2015 3:13 PM >>> To: [email protected] >>> Subject: Re: [lng-odp] [PATCH v3 API-NEXT 00/11] Separate CPU info codes >>> into their platform files >>> >>> so what is summary for that api? >>> >>> odp_cpu_hz_current() >>> odp_cpu_hz() >>> >>> very unstable on platforms like my x86 laptop. Example: >>> >>> cat /proc/cpuinfo |grep "cpu MHz" >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 2501.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> >>> cat /proc/cpuinfo |grep "cpu MHz" >>> cpu MHz : 2501.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 800.000 >>> cpu MHz : 1500.000 >>> >>> And each time there are different values. On busy loop it can go to top >>> 3Ghz speed and later >>> lower frequency due to overheating. >>> >>> As I understand from current patches is api call just parses cpuinfo. >>> That might be not enough >>> due to it's not clear how to use that values. >>> >>> Maxim. >>> >>> >>> On 12/29/2015 13:31, [email protected] wrote: >>> >>>> From: Hongbo Zhang <[email protected]> >>>> >>>> v2->v3 changes: >>>> use "api: cpu:" tag in patch 8/11 title instead of "linux-generic: >>>> >>> sysinfo" >>> >>>> v1->v2 changes: >>>> - don't create arch/arm/ since there isn't implementation now, use >>>> >>> arch/linux >>> >>>> as default choice >>>> - create symlink to arch/linux/odp_cpu_cycles.c for powerpc, if >>>> absent >>>> >>> this >>> >>>> arch cannot be compiled >>>> - add some clean-ups patches 8~11, these patches are against the >>>> >>> previous ones >>> >>>> so send them together for better review and merge. >>>> >>>> v1 notes: >>>> This patch set separates the CPU info codes into their own platform >>>> >>> sepcific >>> >>>> files. >>>> It is common sence that the top general layer call an uniform interface >>>> >>> to >>> >>>> initialize some plarform specific data structures, and this uniform >>>> >>> interface >>> >>>> is implemented in their own platform specific files. >>>> This patch set makes it. >>>> >>>> Hongbo Zhang (11): >>>> linux-generic: sysinfo: move cpu_arch_str to odp_system_info_t >>>> linux-generic: sysinfo: use uniform call odp_sysinfo_parser >>>> linux-generic: sysinfo: rename odp_cpu_hz_current with odp_ prefix >>>> linux-generic: sysinfo: move x86 system info codes to its plarform >>>> file >>>> linux-generic: sysinfo: move MIPS system info codes to its plarform >>>> file >>>> linux-generic: sysinfo: move ARM system info codes to default arch >>>> file >>>> linux-generic: sysinfo: move PowerPC system info codes to its >>>> >>> plarform >>> >>>> file >>>> api: cpu: make frequency API return 0 on failure >>>> linux-generic: sysinfo: set values for cpu_arch_str >>>> linux-generic: sysinfo: apply per-CPU implementation to MIPS >>>> linux-generic: sysinfo: apply per-CPU implementation to PowerPC >>>> >>>> configure.ac | 1 + >>>> include/odp/api/cpu.h | 4 + >>>> platform/linux-generic/Makefile.am | 10 +- >>>> .../linux-generic/arch/linux/odp_sysinfo_parse.c | 20 ++ >>>> .../linux-generic/arch/mips64/odp_sysinfo_parse.c | 63 ++++++ >>>> .../linux-generic/arch/powerpc/odp_cpu_cycles.c | 1 + >>>> .../linux-generic/arch/powerpc/odp_sysinfo_parse.c | 63 ++++++ >>>> .../linux-generic/arch/x86/odp_sysinfo_parse.c | 72 +++++++ >>>> platform/linux-generic/include/odp_cpu_internal.h | 4 + >>>> platform/linux-generic/include/odp_internal.h | 1 + >>>> platform/linux-generic/odp_system_info.c | 217 >>>> +------------ >>>> >>> -------- >>> >>>> 11 files changed, 242 insertions(+), 214 deletions(-) >>>> create mode 100644 platform/linux- >>>> >>> generic/arch/linux/odp_sysinfo_parse.c >>> >>>> create mode 100644 platform/linux- >>>> >>> generic/arch/mips64/odp_sysinfo_parse.c >>> >>>> create mode 120000 platform/linux- >>>> >>> generic/arch/powerpc/odp_cpu_cycles.c >>> >>>> create mode 100644 platform/linux- >>>> >>> generic/arch/powerpc/odp_sysinfo_parse.c >>> >>>> create mode 100644 >>>> platform/linux-generic/arch/x86/odp_sysinfo_parse.c >>>> >>>> _______________________________________________ >>> 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 >
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
