v1 at https://lore.kernel.org/lkml/20200428132450.24901-1-ggherdov...@suse.cz/
changes wrt v1: - add Peter Zijlstra's code to check for multiplication overflow, see https://lore.kernel.org/lkml/20200501133042.ge3...@hirez.programming.kicks-ass.net/ - put all frequence invariant code behind CONFIG_X86_64, as the overflow checks need 64 bits operations, see the build error at https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org/thread/7GDIBOMNVDG5W2XZD4EICE2TUZR3THBN/ - add additional patch to check for when base_freq > turbo_freq, suggested by Peter Zijlstra at https://lore.kernel.org/lkml/20200501130427.gd3...@hirez.programming.kicks-ass.net/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cover Letter from v1: Patch 1/2 prevents a division by zero in case the product "delta_MPERF * arch_max_freq_ratio" overflows u64, as suggested by Linus at [1]. This patch supersedes the version at [2], as it also disables frequency invariance when that overflow happens. Patch 2/2 implements the recommendation by Ricardo Neri to check for an all zero MSR_TURBO_RATIO_LIMIT and disable freq invariance in that case too. [1] https://lore.kernel.org/lkml/CAHk-=wix+nt2yxtdpszh9u_s96mcnqa56gjfxy45mzc47yg...@mail.gmail.com/ [2] https://lore.kernel.org/lkml/20200422144055.18171-1-ggherdov...@suse.cz/ [3] https://lore.kernel.org/lkml/20200424013222.ga26...@ranerica-svr.sc.intel.com/ Giovanni Gherdovich (3): x86, sched: check for counters overflow in frequency invariant accounting x86, sched: Bail out of frequency invariance if turbo frequency is unknown x86, sched: Bail out of frequency invariance if turbo_freq/base_freq gives 0 arch/x86/include/asm/topology.h | 2 +- arch/x86/kernel/smpboot.c | 50 +++++++++++++++++++++++++++++++++-------- 2 files changed, 42 insertions(+), 10 deletions(-) -- 2.16.4