[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251027212724.1759322-1-namhyung@kernel.org>
Date: Mon, 27 Oct 2025 14:27:24 -0700
From: Namhyung Kim <namhyung@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>
Cc: Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
LKML <linux-kernel@...r.kernel.org>,
Eric Dumazet <edumazet@...gle.com>
Subject: [PATCH] perf/x86: Add cond_resched() when allocate/release DS buffers
On large systems, it's possible to trigger sched latency warning during
the DS buffer allocation or release. Add cond_resched() to avoid it.
Reported-by: Eric Dumazet <edumazet@...gle.com>
Signed-off-by: Namhyung Kim <namhyung@...nel.org>
---
arch/x86/events/intel/ds.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/events/intel/ds.c b/arch/x86/events/intel/ds.c
index c0b7ac1c7594ea92..c8e90c5a8d3390ab 100644
--- a/arch/x86/events/intel/ds.c
+++ b/arch/x86/events/intel/ds.c
@@ -754,6 +754,7 @@ void release_ds_buffers(void)
if (x86_pmu.ds_pebs)
release_pebs_buffer(cpu);
release_bts_buffer(cpu);
+ cond_resched();
}
}
@@ -791,6 +792,8 @@ void reserve_ds_buffers(void)
if (bts_err && pebs_err)
break;
+
+ cond_resched();
}
if (bts_err) {
--
2.51.1.838.g19442a804e-goog
Powered by blists - more mailing lists