From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 329EA27D77D; Fri, 6 Feb 2026 21:35:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770413757; cv=none; b=KvPtEMnrsqKQxFMv8IjPWIqBRyFiYEhPED53etWJE6iq1+x2/ROB1AsFCq5bXTu/WGvzWKhgMg9F6K1sUTuQKoJ7ONMtR8/RsaMONRnuXVn0B8EuVqDwqou0x/rVoWpCVipwTAyGdEZhcM4C3XJyABIKGj5wXS+imXOVHAELvyw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770413757; c=relaxed/simple; bh=LEGjAQCdqVqwARVaRh67sH17LXe/5tuSWLRXWxZPxek=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=HV/J51qHunWj+ui4BdSp0OGI+yp/iYmU8QiUt2LA7f2X9WQGdLVcAa2U4QZMlA5ZCoxybkmxqCK4Z9JZRsdYXmFqLAagFFlaRzfEl3WcAiWs2RU4/0IzPs6EYNgy3YdxZBCaCrCGrSF6uNJ1XJBF4OuLExVXGnSArPFSsML3ETc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ks165XAw; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Ks165XAw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 520AFC116C6; Fri, 6 Feb 2026 21:35:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770413756; bh=LEGjAQCdqVqwARVaRh67sH17LXe/5tuSWLRXWxZPxek=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Ks165XAwY+Q8tDs1hldooYcb5SzflkIsRmTnmv9grpu5ycZ8AVfakRRFZ26F9cG3W BCNVlNuO5p4S4OmZrzoPF+FSDdalwMwNw97TSt/v4aGubqVSaHo3r1agFTqGSWpcgC 2pCvs2QNA5vmVLc+1hAuzntDvb6NN3yKSv4kAQUPf5enRYiIqX6VgpJ+aVLnrJboSl 614mB7DotZFnZ9sVpFVam86IeMw3b/VokiqanEIgXdoMP2zRcF/X6bsFnxsQAMeIOy SHmq3IIDz/NAEy5MGZTIFmiKFSmpOI1hHVJPsU6JL+q6BdzzpthTV276Ca49e284rT 29d+UqOrkcR2A== Date: Fri, 6 Feb 2026 18:35:52 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Cc: Peter Zijlstra , Ingo Molnar , Namhyung Kim , Alexander Shishkin , Jiri Olsa , Adrian Hunter , "Dr. David Alan Gilbert" , Yang Li , James Clark , Thomas Falcon , Thomas Richter , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Andi Kleen , Dapeng Mi , Andres Freund Subject: Re: [PATCH v7 0/6] perf stat affinity changes Message-ID: References: <20260203225129.4077140-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-perf-users@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260203225129.4077140-1-irogers@google.com> On Tue, Feb 03, 2026 at 02:51:23PM -0800, Ian Rogers wrote: > Change how affinities work with evlist__for_each_cpu. Move the > affinity code into the iterator to simplify setting it up. Detect when > affinities will and won't be profitable, for example a tool event and > a regular perf event (or read group) may face less delay from a single > IPI for the event read than from a call to sched_setaffinity. Add a > --no-affinity flag to perf stat to allow affinities to be disabled. > > v7: Revert "perf tool_pmu: More accurately set the cpus for tool > events" that caused issues with user specified CPUs (Andres Freund > ). Fix a null test is prepare_metric so that > missing events can't trigger segfaults (Andres Freund). Make the > CPU map propagation improve the CPU maps for tool events that only > read on index 0, this allows later setting when > evlist__create_maps is called with the correct user CPUs. Rebase > previous non-merged affinity changes that hadn't been picked up > yet. Not applying to tmp.perf-tools-next, can you please check? - Arnaldo > v6: Drop merged tool event change. Move TPEBS fix into its own patch > 1st. > https://lore.kernel.org/lkml/20260108212652.768875-1-irogers@google.com/ > > v5: Drop merged changes. Move tool event reading to first > patch. Change --no-affinity flag to --affinity/--no-affinity flag. > https://lore.kernel.org/lkml/20251118211326.1840989-1-irogers@google.com/ > On v5 there was discussion with Andi Kleen who points out that > affinities will work better with real time priorities but using > this requires privileges. > > v4: Rebase. Add patch to reduce scope of walltime_nsec_stats now that > the legacy metric code is no more. Minor tweak to the ru_stats > clean up. > https://lore.kernel.org/lkml/20251113180517.44096-1-irogers@google.com/ > > v3: Add affinity clean ups and read tool events last. > https://lore.kernel.org/lkml/20251106071241.141234-1-irogers@google.com/ > > v2: Fixed an aggregation index issue: > https://lore.kernel.org/lkml/20251104234148.3103176-2-irogers@google.com/ > > v1: > https://lore.kernel.org/lkml/20251104053449.1208800-1-irogers@google.com/ > > Ian Rogers (6): > Revert "perf tool_pmu: More accurately set the cpus for tool events" > perf stat-shadow: In prepare_metric fix guard on reading NULL > perf_stat_evsel > perf evlist: Special map propagation for tool events that read on 1 > CPU > perf evlist: Missing TPEBS close in evlist__close > perf evlist: Reduce affinity use and move into iterator, fix no > affinity > perf stat: Add no-affinity flag > > tools/lib/perf/evlist.c | 36 +++++- > tools/lib/perf/include/internal/evsel.h | 2 + > tools/perf/Documentation/perf-stat.txt | 4 + > tools/perf/builtin-stat.c | 114 ++++++++--------- > tools/perf/util/evlist.c | 156 +++++++++++++++--------- > tools/perf/util/evlist.h | 27 ++-- > tools/perf/util/parse-events.c | 10 +- > tools/perf/util/pmu.c | 23 ++++ > tools/perf/util/pmu.h | 3 + > tools/perf/util/stat-shadow.c | 7 +- > tools/perf/util/tool_pmu.c | 19 --- > tools/perf/util/tool_pmu.h | 1 - > 12 files changed, 237 insertions(+), 165 deletions(-) > > -- > 2.53.0.rc2.204.g2597b5adb4-goog