Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp2186264ybm; Sun, 31 May 2020 11:28:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1cXRgpMsP03UHi+yd8ssrrXJ0DCsf2CTB0l0fXOoW5aU3/BPtPZEx7IZ8S8ZRv1B37s9J X-Received: by 2002:a50:8dc2:: with SMTP id s2mr18845380edh.318.1590949701890; Sun, 31 May 2020 11:28:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590949701; cv=none; d=google.com; s=arc-20160816; b=xYxitkhwVgGNl2SX+70bZeXbPwg8QzQtUz38SoI8nJM+Ic933aRpH5o6H/MVuEIV+Q Kz/ihTL+9Udzrm7Cgndt2Lp/kPFTxUGoAwyljn2fsnntWr4ueer42o2m/B+fiZhZn+fu 2sPVxAroJ2nKGa9rBebARAKqxTKG5mFsCYY9wsjtDRnlCU0/iGNxJBOcjeNslkwsxgUu svS9cHyRd7XMr7qGiL1QGIfX/lCCxdzkGU3OVuSFQzydEIh2OOKK7UlgoCAUBxWsXpW6 uMp05RIoI8c62ChLZ9w+6edG8YPxeiMclaW5q3+9uaRtvODrafykxjCrpTLn7YzKxNVV CQnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=LiSw1pm5Lt3Y7f+7aIMity9ovE2UGpqzVlX0EqrR6X0=; b=cxnhtkpRBbGYRTo4xIgYmw+mBJfaXLVQZEPbRJcpKjmHQVubmSBc9e6SR74WutHnrn EIU94pPEVTYvEnT5xjooqxjAatenWvCMlbB372lTyzu7UDSpEaGvDh1I3kWIjygOGC4E YUDe4MtAR0/P39gfEqNE0ZfWJbftrxHYKNLqQlwEQyZ2ayvRhZDpmN80SJgOjzRtIzH8 OxOitmjP5eFhLwD0SbqlYBATQA+qXs7lrT3657Hz1B6AD3fNQYN90nOWsBTvKQJGz3mu fLfP8ZzrJUJGrZEFjjABiiqbAlhL/cxzUz694li8GCkdTpUvP+3m0F9Zi+UcAiOlp0Bf 5Kjg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p2si9523337edx.419.2020.05.31.11.27.58; Sun, 31 May 2020 11:28:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728317AbgEaS0P (ORCPT + 99 others); Sun, 31 May 2020 14:26:15 -0400 Received: from mx2.suse.de ([195.135.220.15]:52360 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726008AbgEaS0O (ORCPT ); Sun, 31 May 2020 14:26:14 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id E0261AC79; Sun, 31 May 2020 18:26:13 +0000 (UTC) From: Giovanni Gherdovich To: Srinivas Pandruvada , Thomas Gleixner , Ingo Molnar , Peter Zijlstra , Borislav Petkov , "Rafael J . Wysocki" Cc: x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Ricardo Neri , Giovanni Gherdovich Subject: [PATCH v2 0/3] More frequency invariance fixes for x86 Date: Sun, 31 May 2020 20:24:50 +0200 Message-Id: <20200531182453.15254-1-ggherdovich@suse.cz> X-Mailer: git-send-email 2.16.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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