From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f74.google.com (mail-dl1-f74.google.com [74.125.82.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C8E13BF682 for ; Tue, 12 May 2026 05:36:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778564164; cv=none; b=goZcsHOrqjC21jxUjYALyTc/KUQhlu0+2KNuV90G1EtW6F4Q4R4wbeOYffG0E4CKiF5ejv5nEZHBgETfKDfcK793Jk9jIuU54LJTaE+vhSu46E9vddxMax6xtJDt2iuqY5eC6rwvrOugVoL2GbX2rhPb4vvg3V5qorYfxEzUzx4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778564164; c=relaxed/simple; bh=yHoe94pBCp/jsSadHjDyJqHnLe1VKfRgsa8bqXs5JhI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=rBKgjS7Igsw8K8xcs5LFqg8JEitUana40Hwuapr2ovCZcG8g4lSgRb+dY5JOYK1i0rKEkafR/5W54kA6YlduVqiIWgfGc03Kws+cKtSbgfEp1aXq4dQ/1G/9gKbKeUFZqEEHb6nWzXnD4D90Kyzi7jFiz4loLXHMtYj9XGSGFzE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=tV4Zuypr; arc=none smtp.client-ip=74.125.82.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="tV4Zuypr" Received: by mail-dl1-f74.google.com with SMTP id a92af1059eb24-13312af37fdso5293110c88.0 for ; Mon, 11 May 2026 22:35:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1778564157; x=1779168957; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=dZFrpPLjC6wmGdWBTaPuklS/Eo1fUFuElAG8Y8XQiQ4=; b=tV4ZuyprnkwZnTe+UtPM0X2pkTTZM9WiEITyopcc7BAIlnOiRD2SCMV8Gwg0ZqLjlk Cb7nQi+ZJIfjx1uHT1bGoIPicpA4qOuMJQsUi/WjL7Bu0RmO/ud7yTMZwZA4LZTDxX2G 0naDBNF87jXS8lG3tIBQsiMQcT2qu7WhII2WVXdXZJ6GGxXeaq8lNKwTNI1YgOeU945p edjwHRmTfNfPad9sQr64sK1OmtIZETdmJg9mdU/dWEYOD15w+FpicHHYli8j9GQ/dd1p 1dZT0N0W0aZEeyedGKT2rv3b20Jq/aRBhyGB1U+//OWyaDgw3Nr0hHtaONG++Buiw53U 75vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778564157; x=1779168957; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dZFrpPLjC6wmGdWBTaPuklS/Eo1fUFuElAG8Y8XQiQ4=; b=Yg9Q1itu0pItp3rItxiyk51tXCcywMIJAlwE1q8agfOCQStOwO1bGlqUVjezrXCGo3 oEVkfO3kEjbaZ7BecDtwqCL6SVnL9LGulK+uFzWDflLYUxDq5QsQ6hzQbRS9uSLO3Z2i Fg895EU/wLGDrRfGDS7yk9lIAJAn5R8SqgrFDuiudOSS0dfjJnzxIIGEufMqVwR2xhYf KflOLV8T8NvzxMZL/orlWkA3KnqkXxmqayu2HmCSD2t+Afi2CPFAoDgiXCIi4O5SkLDC yLeBHVVaAzG3AfI1ObwTviLC7gz5jIRPAj8w4q1wqRlGTJYn7v9dyRyAEENT0Fytq3G6 fvgg== X-Forwarded-Encrypted: i=1; AFNElJ/SDEKCveaV0/ktsVI2KllxRiFairZD8DE/VnEcUmnROA7gfb12rhfTJAuO4JBQp/YInqgkJsKLdF0K5K0=@vger.kernel.org X-Gm-Message-State: AOJu0YyQItzNylNxo7zILjmN9iPvW/633xe1SJIYs9ilh+reU0zS9aWi qVsZH0VDAJIPpixDM3alGdPyhiAeoF1w0dhLI7v3JLiMFlrESiaqPA7zzECHSx3oh6dKTCvMip0 tChbHMX2qJw== X-Received: from dlbsv2.prod.google.com ([2002:a05:7022:3a02:b0:12a:7b92:3d63]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:7022:98e:b0:12a:94ab:e20 with SMTP id a92af1059eb24-13344f92abfmr1145587c88.20.1778564157242; Mon, 11 May 2026 22:35:57 -0700 (PDT) Date: Mon, 11 May 2026 22:35:28 -0700 In-Reply-To: <20260512053539.3410189-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260512053539.3410189-1-irogers@google.com> X-Mailer: git-send-email 2.54.0.563.g4f69b47b94-goog Message-ID: <20260512053539.3410189-4-irogers@google.com> Subject: [PATCH v1 03/14] perf build: Decouple pmu-events from prepare umbrella target From: Ian Rogers To: Quentin Monnet , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Adrian Hunter , James Clark , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Nick Terrell , David Sterba , Nathan Chancellor , Tomas Glozar , Dmitrii Dolgov <9erthalion6@gmail.com>, Costa Shulyupin , Alexandre Chartre , Yuzhuo Jing , Leo Yan , Ankur Arora , Markus Mayer , Collin Funk , Howard Chu , Dapeng Mi , Swapnil Sapkal , Thomas Falcon , Ricky Ringler , linux-kernel@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users@vger.kernel.org Cc: Ian Rogers Content-Type: text/plain; charset="UTF-8" Currently, the $(LIBPMU_EVENTS_IN) sub-make depends on the massive "prepare" umbrella target. Because "prepare" depends on external libraries (libapi, libperf, etc.) as well as dozens of generated headers, make completely serializes the launch of the pmu-events sub-make behind some of those unrelated prerequisites. Since pmu-events is a large compilation unit, unblock its startup by binding it directly to only $(LIBPERF) instead of prepare. This allows background python generation scripts to overlap simultaneously with the rest of the build. Testing a parallel build (make -j28 clean all) shows improvements: Before: real 0m27.642s user 2m32.356s sys 0m26.683s After: real 0m22.254s user 2m32.810s sys 0m24.646s This reclaims over 5 full seconds of build latency (~19.5% overall reduction) by elevating average CPU concurrency from ~5.5 active cores up to ~8 active cores. Assisted-by: Gemini:gemini-3.1-pro-preview Signed-off-by: Ian Rogers --- tools/perf/Makefile.perf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index c81797ceec42..c66af4c825fd 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -550,7 +550,7 @@ build := -f $(srctree)/tools/build/Makefile.build dir=. obj $(PERF_IN): prepare FORCE $(Q)$(MAKE) $(build)=perf -$(LIBPMU_EVENTS_IN): FORCE prepare +$(LIBPMU_EVENTS_IN): FORCE $(LIBPERF) $(Q)$(MAKE) -f $(srctree)/tools/build/Makefile.build dir=pmu-events obj=pmu-events $(LIBPMU_EVENTS): $(LIBPMU_EVENTS_IN) -- 2.54.0.563.g4f69b47b94-goog