[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250311113727.GB9968@noisy.programming.kicks-ass.net>
Date: Tue, 11 Mar 2025 12:37:27 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: mark.barnett@....com
Cc: mingo@...hat.com, acme@...nel.org, namhyung@...nel.org,
irogers@...gle.com, ben.gainey@....com, deepak.surti@....com,
ak@...ux.intel.com, will@...nel.org, james.clark@....com,
mark.rutland@....com, alexander.shishkin@...ux.intel.com,
jolsa@...nel.org, adrian.hunter@...el.com,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v3 3/5] perf: Allow adding fixed random jitter to the
alternate sampling period
On Tue, Mar 11, 2025 at 12:31:29PM +0100, Peter Zijlstra wrote:
> + sample_period = hwc->sample_period_base;
> + if (hwc->state & PERF_HES_HF_RAND) {
> + u64 rand = 1 << event->attr.hf_sample_rand;
> + sample_period -= rand / 2;
> + sample_period += prandom_u32_state(&perf_rand) & (rand - 1);
> + }
> + if (hwc->state & PERF_HES_HF_ON) {
> + u64 hf_sample_period = event->attr.hf_sample_period;
> +
> + if (sample_period < hf_sample_period) {
> + hwc->state &= ~PERF_HES_HF_ON;
> + goto set_period;
> + }
> +
> + if (!(hwc->state & PERF_HES_HF_SAMPLE)) {
> + hwc->sample_period -= hf_sample_period;
> + hwc->state |= PERF_HES_HF_SAMPLE;
> + } else {
> + hwc->sample_period = hf_sample_period;
> + hwc->state &= ~PERF_HES_HF_SAMPLE;
and obviously this should be the local sample_period modified above, not
the hwc one.
> + }
> + }
> +set_period:
> + hwc->sample_period = sample_period;
Powered by blists - more mailing lists