Re: [PATCH v4 3/7] acpi-cpufreq: Add support for disabling dynamicoverclocking

From: Matthew Garrett
Date: Sat Jul 23 2011 - 23:50:32 EST


On Sat, Jul 23, 2011 at 11:42:50PM -0400, Andrew Lutomirski wrote:
> On Sat, Jul 23, 2011 at 11:33 PM, Matthew Garrett <mjg@xxxxxxxxxx> wrote:
> > This complicates things a little, since right now we just write the
> > firmware's P state value directly into PERF_CTL. We'd need to add code
> > to acpi_cpufreq_target to make sure that it masked that bit off. It's a
> > little more awkward, but if we're being told not to do it by just
> > hitting the bit in MISC_ENABLE it's probably worth it. I'll try to
> > handle that this week.
>
> This way may give the benefit of making it work per core instead of
> per package. The manual is rather unclear on this point.

Being able to enter turbo mode typically requires coordination between
the cores in order to ensure that the package remains within limits. The
AMD implementation certainly disables their equivalent entirely if any
core in the package has it disabled. I haven't verified that Intel
behaviour is identical, but it wouldn't surprise me. I can try to check
that.

> I actually have a use case for this. I have a system that keeps a
> bunch of cores under moderate load. I have one thread in particular
> that needs to be fast, and I'd like to disable boosting on the other
> cores to keep more thermal and power headroom available for the one
> thread that cares.

Are the other threads sufficiently opportunistic to use extra CPU power
if it's available to them? You'll generally only get turbo if the other
cores are in C6, so even if turbo is disabled on a specific core it'll
probably prevent another core from entering turbo if anything's
executing on it. You'd arguably want it to be able to get into turbo so
it can hit C6 more quickly and let the other thread use the extra
headroom.
--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/