Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp4383324pxb; Wed, 20 Apr 2022 01:54:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzDRZIYFLu6jGz6w+P8CP6IZN/mZ3uThFy4GB5jh0c/DPqHYJWrEilj1zdCgU0pBqNLwVxr X-Received: by 2002:a17:903:2310:b0:15a:19ea:a2be with SMTP id d16-20020a170903231000b0015a19eaa2bemr5540738plh.67.1650444842494; Wed, 20 Apr 2022 01:54:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650444842; cv=none; d=google.com; s=arc-20160816; b=f6rZKs5u4UGTXHLERBJCPZawGtd6FMclUIpSNHhrLOytRHVopqpG+xFh8XrhLNchPV VHpScgqpXEEW6ih3TKziglTZMSh8+h4M6xhw8Rc2QNLwoLAcUs4MgVYbQ0hW5vdmmvpp rQtt/2rokaDU08G/KDJCWLSSGWuPCQAd+Z1UjsDd6xtC+Xu29x+QoytNRm6ADCXjRw8n OXoKTHZTiF9vVR3sce09+RduZRMMqyF8GFAUqcBfKsvniRY8xIyzQlcnvP/AtJ5hUBXv 49QfzeItFNvRE8RxbGzXnY+XsDuMrudMEYx6JF20CCDG/Eb0gMnxBxJG8Y9wHMjeTGDB xbcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=svoxI3P1MTFKEFyUdpPrcgYOwcptyW2jfm7B97EDACE=; b=PS2VnWs2zgS0OUlO1m2i3lgv4fScKsIVhCS7Zjb9wsPouTvI5y1nR7Z+EK6eJFndne ibVVOuUfqtRinIeb6bGPteEsjNnzHFE+ypeGTRkjMXjtgK0Zdpd6h9MtM3tJI+rNfXAs 2cUB3ea8CkjUE+piiDcgkegadi4PRmirph0kr4f6KjbW9niwMwiOGzELNlqoHNceqpaO MA8nvPjHRP5Pj2f1hItjnzFf0a2FBmla3sB2rYSu8jsCM01cVzObcQFlcdi8a5zyGg2d FpZXB0dGEv02YP9ljNRw0tEoBTFVALKNHt0sayafdRj+e8sUi7QG1K1EN9AMWiJKqRmm eqQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=hqY0Brln; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c3-20020a170902c2c300b00153b2d164e1si1601600pla.233.2022.04.20.01.53.48; Wed, 20 Apr 2022 01:54:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=hqY0Brln; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354075AbiDSPyv (ORCPT + 99 others); Tue, 19 Apr 2022 11:54:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52984 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354062AbiDSPyt (ORCPT ); Tue, 19 Apr 2022 11:54:49 -0400 Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com [IPv6:2607:f8b0:4864:20::b2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7DA771E3CE for ; Tue, 19 Apr 2022 08:52:06 -0700 (PDT) Received: by mail-yb1-xb2c.google.com with SMTP id s33so4390907ybi.12 for ; Tue, 19 Apr 2022 08:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=svoxI3P1MTFKEFyUdpPrcgYOwcptyW2jfm7B97EDACE=; b=hqY0Brlnj/vptEt82cDudZbgfl/3pzyr/UiAK/HR09LT2qyTDendN2hCQPDULF4qRw DMD2WZXHCb7MJ6aZApQPmIIYGkgKyW069+FnJ/ZD6dZVthsZUDW9dcmzZ492aVLwGFEJ 6l2c0JYNOrFB8mg2mlynr3gwmUfaXR24R65wX0B4FRGrmXixvPYrki9bKMc/kqhY/9H3 QgRcRDULdmTq/hsEt1UZDfjxOwX/1ydc8yeOfCJRu6Mkx5iP4BBjSFIrY++zZ1nJ9dS2 MossmJ9Bg137dn4v5St1p4jFCv/YC9o/Y71hNCY1vP+aiUG5nm1GIzZxytpjf2PIvl0g 8ztA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=svoxI3P1MTFKEFyUdpPrcgYOwcptyW2jfm7B97EDACE=; b=OPDpU+pYmHkvUtCu00nR6BcbUD/9W1TBrNNW+2syJAdlalQ9jse12q6fDGFi2My/c8 hMEbv9p/BjHBDtESePM5D+G/IupPmbl3uEObdu5hB71dBBErF7z6boYn2tacesGjY66F 1BjEYWvqcfOK0p5oQyY9SwXxA7E5UxZDuv+4KudsLT2g23OTkRunvYRAioyySrOgcHi4 pMLeqOVB9SWIiWtcPc3n8aI4Mum5REWpH+4KJL94tqsqJDr9fx2Q0m7Hy46qhb68hzs/ gVcRA9uBdDr/xsDoWMHsasMuAIqKWIOcBVO4oSSqUdZvTH+4KaHj7XpP4nMw9RAn1+FQ Lj8w== X-Gm-Message-State: AOAM532G2FEJyRi9eh1hDjaqDCI0aKDR4vJu1xnBVJ8xrK+8f0NCNSGl 6hscjeep9u2WUOFf1ppSZr2GrVSbwr/t+bTkgCY7Dg== X-Received: by 2002:a25:ea48:0:b0:644:e2e5:309 with SMTP id o8-20020a25ea48000000b00644e2e50309mr11576663ybe.407.1650383525468; Tue, 19 Apr 2022 08:52:05 -0700 (PDT) MIME-Version: 1.0 References: <20220415133356.179706384@linutronix.de> In-Reply-To: <20220415133356.179706384@linutronix.de> From: Eric Dumazet Date: Tue, 19 Apr 2022 08:51:54 -0700 Message-ID: Subject: Re: [patch 00/10] x86/cpu: Consolidate APERF/MPERF code To: Thomas Gleixner Cc: LKML , "the arch/x86 maintainers" , "Rafael J. Wysocki" , linux-pm@vger.kernel.org, "Paul E. McKenney" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 15, 2022 at 12:19 PM Thomas Gleixner wrote: > > APERF/MPERF is utilized in two ways: > > 1) Ad hoc readout of CPU frequency which requires IPIs > > 2) Frequency scale calculation for frequency invariant scheduling which > reads APERF/MPERF on every tick. > > These are completely independent code parts. Eric observed long latencies > when reading /proc/cpuinfo which reads out CPU frequency via #1 and > proposed to replace the per CPU single IPI with a broadcast IPI. > > While this makes the latency smaller, it is not necessary at all because #2 > samples APERF/MPERF periodically, except on idle or isolated NOHZ full CPUs > which are excluded from IPI already. > > It could be argued that not all APERF/MPERF capable systems have the > required BIOS information to enable frequency invariance support, but in > practice most of them do. So the APERF/MPERF sampling can be made > unconditional and just the frequency scale calculation for the scheduler > excluded. > > The following series consolidates that. > Thanks a lot for working on that Thomas. I am not sure I will be able to backport this to a Google prodkernel, as I guess there will be many merge conflicts. Do you have by any chance this work available in a git branch ? Thanks. > Thanks, > > tglx > --- > arch/x86/include/asm/cpu.h | 2 > arch/x86/include/asm/topology.h | 17 - > arch/x86/kernel/acpi/cppc.c | 28 -- > arch/x86/kernel/cpu/aperfmperf.c | 474 +++++++++++++++++++++++++++++++-------- > arch/x86/kernel/cpu/proc.c | 2 > arch/x86/kernel/smpboot.c | 358 ----------------------------- > fs/proc/cpuinfo.c | 6 > include/linux/cpufreq.h | 1 > 8 files changed, 405 insertions(+), 483 deletions(-) > >