[OpenPower-Firmware] Limit the CPU frequency

Daniel M Crowell dcrowell at us.ibm.com
Tue Apr 24 00:55:26 AEST 2018


> I *believe* the OCC will get this from processor VPD (but don't quote me
Yes, this is where we get all the frequencies from in P9, but in P8 there 
are some MRW fields that control things.  It's been a little while so have 
to reload that all into my brain again...  Maybe Martha has a better 
memory from the OCC side of thigns.

Which kind of procs are these?  Are they Venice or Naples?

The hardware issues you are referring to - are they a problem with your 
boards or the processors themselves?  If the latter, that is probably 
something that needs to be brought up through the appropriate (official) 
channels.

--
Dan Crowell
Senior Software Engineer - Power Systems Enablement Firmware
IBM Rochester: t/l 553-2987
dcrowell at us.ibm.com



From:   Stewart Smith <stewart at linux.ibm.com>
To:     Artem Senichev <artemsen at gmail.com>, 
openpower-firmware at lists.ozlabs.org
Date:   04/23/2018 03:35 AM
Subject:        Re: [OpenPower-Firmware] Limit the CPU frequency
Sent by:        "OpenPower-Firmware" 
<openpower-firmware-bounces+dcrowell=us.ibm.com at lists.ozlabs.org>



Artem Senichev <artemsen at gmail.com> writes:
> We have some hardware problem with 12-cores P8 CPU running at high
> load with maximum frequency.
> A workaround is to limit the frequency from the OS (for example, using
> `cpupower frequency-set`).
>
> Fixing this issue can take a lot of time, so I want to use the
> workaround as a temporary solution, but I want to set the upper limit
> in the firmware layer to prevent it from being changed by the OS
> kernel.
>
> Is it possible to limit the maximum CPU's frequency from hostboot or
> skiboot?

>From a skiboot perspective, we get possible frequencies from the OCC and
expose these to linux via the device tree. This is done in hw/occ.c

I *believe* the OCC will get this from processor VPD (but don't quote me
on it, that's mostly a pretty educated guess).


If you look at add_cpu_pstate_properties() in hw/occ.c, on p8 you'll see
that parse_pstates_v2() is what fills out the list.

As a hack for your workaround, you could filter the dt_id[] and
dt_freq[] arrays coming out of there to remove the states you don't want
enabled.

There *may* also be a way to do so via MRW.. but I'm not as familiar
with all the options there.

-- 
Stewart Smith
OPAL Architect, IBM.

_______________________________________________
OpenPower-Firmware mailing list
OpenPower-Firmware at lists.ozlabs.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.ozlabs.org_listinfo_openpower-2Dfirmware&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=mCj3CQvqek9g0fdziO-GEHyU1m9T3SAh0ZPd5s_AGpo&m=1EtQ9QtiZh5z5QRCjnyiFVLPXpmHxCYL8fxl3feAusw&s=Ru9wrNug8pNp9B-33yZGXWWIAFyQ53Fgu9Ek4Ti5cYQ&e=






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openpower-firmware/attachments/20180423/a0ff5d61/attachment.html>


More information about the OpenPower-Firmware mailing list