lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 31 May 2020 20:24:50 +0200
From:   Giovanni Gherdovich <ggherdovich@...e.cz>
To:     Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
        Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Borislav Petkov <bp@...e.de>,
        "Rafael J . Wysocki" <rjw@...ysocki.net>
Cc:     x86@...nel.org, linux-pm@...r.kernel.org,
        linux-kernel@...r.kernel.org,
        Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>,
        Giovanni Gherdovich <ggherdovich@...e.cz>
Subject: [PATCH v2 0/3] More frequency invariance fixes for x86

v1 at https://lore.kernel.org/lkml/20200428132450.24901-1-ggherdovich@suse.cz/

changes wrt v1:

- add Peter Zijlstra's code to check for multiplication overflow, see
  https://lore.kernel.org/lkml/20200501133042.GE3762@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-all@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.GD3762@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_S96MCNQA56GJFXY45mZc47yG5KQ@mail.gmail.com/
[2] https://lore.kernel.org/lkml/20200422144055.18171-1-ggherdovich@suse.cz/
[3] https://lore.kernel.org/lkml/20200424013222.GA26355@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

Powered by blists - more mailing lists