Re: Running an Ivy Bridge cpu at fixed frequency

From: Andy Lutomirski
Date: Wed Dec 04 2019 - 12:58:00 EST


On Wed, Dec 4, 2019 at 9:01 AM David Laight <David.Laight@xxxxxxxxxx> wrote:
>
> Is there any way to persuade the intel_pstate driver to make an Ivy bridge (i7-3770)
> cpu run at a fixed frequency?
> It is really difficult to compare code execution times when the cpu clock speed
> keeps changing.
> I thought I'd managed by setting the 'scaling_max_freq' to 1.7GHz, but even that
> doesn't seem to be working now.
> It would also be nice to run a little faster than that - but without it 'randomly'
> going to 'turbo' frequencies (which it is doing even after I've set no_turbo to 1).
>

I don't remember. I'm sure I could figure out what MSR to write, but
that's not the answer you're looking for. Someone else will know :)

> An alternative would be a variable frequency TSC - might give more consistent values.

You can quite easily use perf to count cycles. I never really
finished it, but this is a tiny little library that should do exactly
what you need. It's a bit messy.

https://git.kernel.org/pub/scm/linux/kernel/git/luto/misc-tests.git/tree/tight_loop/perf_self_monitor.c