From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74652C47080 for ; Wed, 2 Jun 2021 01:02:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 505BB61003 for ; Wed, 2 Jun 2021 01:02:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229796AbhFBBEA (ORCPT ); Tue, 1 Jun 2021 21:04:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229754AbhFBBD7 (ORCPT ); Tue, 1 Jun 2021 21:03:59 -0400 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AF9ECC061574 for ; Tue, 1 Jun 2021 18:02:16 -0700 (PDT) Received: by mail-lj1-x235.google.com with SMTP id e11so351155ljn.13 for ; Tue, 01 Jun 2021 18:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=a6baHQsAJ9xJh2UaKZ3zO4HQerzx/uv7qHQfFuXijes=; b=QwaNkysrxExUHUCmiUg6v8xYRKL/2KiOI9ujaADlLfkmQ/8/mQNVQ1aB5ZoERrK2Yg /Jc5JyUlDXFeoY3zs6Yk9GCmVWRgS/Z37ec8WaE1gwEDHuu4GFwy6c6yxhr5noQqdLvy DNjVF2K+qfvPOj6Y33eGZtpqAnhMtfbnNuxPulYTK1jrfI7ATsVced/tHzzqLxzzClUl 6mSo3dyi7ZcTvL6qOlEroKqDXCvqcLXDKDVbNFtrYVDTbAMRjwZCsFBAFwF2rqj/hgCd A6SDsLlF7zQRIW4Nz45zY7qWGyQsjt5KurklM3h0ZWh3sCRk6Cy7biH/293Lhbmmam1t /Ntg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=a6baHQsAJ9xJh2UaKZ3zO4HQerzx/uv7qHQfFuXijes=; b=o+K4R7a9tDoJee2A++K541eKRfMU+RWc428cJNdlOBoaU/UIzVobm7uHIx1wxugjHg EmCaqQmKPwdpWDfnPWMqsn1nQIc9DWdlElGrMD+iZJyh5xKVj7TMaDbagq01cMHMR7sL LUyqxP2QzbrJudwqPKL3GRZ0f20dfKvhu+9w3/2F0bOAS3kKQCSehHTYiu221yWwrqd1 +QIcaW/26piiQ98yHWoF6pgrqnKt+y92OFdwBTjfy69z+6Vrs3c2fnfScKjmaSmj8wbn p2WaPcEu6LfQAvwGxAgA2NR5dzF4YcDW4JarnPWxkW7mcjUZmGqx4vpSKkoELrDNeXiL Gh+A== X-Gm-Message-State: AOAM531iMQESLyaoVmN/xWQgpcDqcskYwomOSUT2DeaFxpdV+c9k9zLt IxZK+9SxlfjQNdvq6ge2/AsDzjrWSwj/n9oC X-Google-Smtp-Source: ABdhPJx8XxJ4bI1yXGVQSTK2EagS2wfDCfTT2XfxbPT3S1IKb/r+Gnrea1nvB8oY4vD1YIwucKnF2Q== X-Received: by 2002:a2e:9c99:: with SMTP id x25mr457943lji.310.1622595735151; Tue, 01 Jun 2021 18:02:15 -0700 (PDT) Received: from HyperiorArchMachine.bb.dnainternet.fi (dcx7x4yb9bh06yk5jm2qt-3.rev.dnainternet.fi. [2001:14ba:14f7:3c00:3d09:bda0:2327:559b]) by smtp.gmail.com with ESMTPSA id d7sm1825403lfg.253.2021.06.01.18.02.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Jun 2021 18:02:14 -0700 (PDT) From: Jarmo Tiitto To: Nathan Chancellor , Nick Desaulniers , clang-built-linux@googlegroups.com Cc: Jarmo Tiitto , samitolvanen@google.com, morbo@google.com, keescook@chromium.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/1] pgo: Fix allocate_node() handling of non-vmlinux nodes Date: Wed, 2 Jun 2021 03:57:02 +0300 Message-Id: <20210602005702.9650-1-jarmo.tiitto@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently allocate_node() will reserve nodes even if *p doesn't point into __llvm_prf_data_start - __llvm_prf_data_end range. This is wrong: Any instrumented modules that are not part of vmlinux (built-in) will "steal" available nodes away from vmlinux. This can result in exhaustion of nodes for vmlinux and less accurate profile data. Either way, any profiling data generated by loaded modules, if any, is unusable from vmlinux.profraw. So just filtter them out. Jarmo Tiitto (1): pgo: Fix allocate_node() handling of non-vmlinux nodes. kernel/pgo/instrument.c | 4 ++++ 1 file changed, 4 insertions(+) -- 2.31.1