3

I'm tuning my server for low-latency. The HP low-latency guide suggests to disable this option "Processor Power and Utilization Monitoring" because:


Disables iLO Processor State Mode Switching and Insight Power Manager Processor Utilization Monitoring, and its associated SMI

Disabling System Management Interrupts to the processor provides one of the greatest benefits to low-latency environments. Disabling the Processor Power and Utilization Monitoring SMI has the greatest effect because it generates a processor interrupt eight times a second in G6, G7, and Gen8 servers.


But I can not find this option in BIOS. I've checked HP ROM-Based Setup Utility User Guide and it is not there.

How to disable "Processor Power and Utilization Monitoring", what exact steps should I do?

1
11

This is outlined in the document you linked under the "Tuning Procedures" heading.

In order to enter the Advanced system options menu for modifying a G6 or newer HP ProLiant for a low-latency application, you need to get to the main BIOS screen by pressing F9 during POST.

enter image description here

Once there, type Ctrl-A. This will present an additional menu named "Service Options" at the bottom of the list.

enter image description here

Select "Service Options" and you'll see the advanced system options, including the optimization you're looking to make. Change "Processor Power and Utilization Monitoring" to "Disabled". Escape and follow the prompts to save your changes.

enter image description here

One note. In realtime applications, there are a good number of things than can be tuned before resorting to this, but the setting is safe.

enter image description here

1
0

You can disable Processor Power and Utilization Monitoring in the BIOS by various means, but it's always hidden in non-obvious ways.

Conrep

With Conrep you have to copy an invalid XML snippet from the 2017er version of HP's Low-Latency guideHP2017, fix it and insert it into the default hardware description file to access this option.

The fixed snipped should look like this:

$ cat adv.xml
  <Section name="PowerMonitoring">
    <helptext><![CDATA[This setting determines if Pstate logging and utilization is supported.]]></helptext>
    <ev>CQHGV3</ev>
    <length>1</length>
    <value id="0x00">Enabled</value>
    <value id="0x10">Disabled</value>
    <mask>0x10</mask>
    <byte>0</byte>
  </Section>
  <Section name="DisableMemoryPrefailureNotification">
    <helptext><![CDATA[This setting allows the user to disable Memory Pre-Failure Notification support, which will remove the periodic SMI associated with this support. Not recommended for anyone except for those who absolutely need every periodic SMI removed.]]></helptext>
    <ev>CQHGV3</ev>
    <length>1</length>
    <value id="0x00">No</value>
    <value id="0x20">Yes</value>
    <mask>0x20</mask>
    <byte>0</byte>
  </Section>
  <Section name="Memory_Refresh_Rate_Gen9">
    <helptext><![CDATA[This setting allows the user to change the Memory Refresh Rate setting on Gen9 servers.]]></helptext>
    <platforms>
      <platform>Gen9</platform>
    </platforms>
    <nvram>0x257</nvram>
    <value id="0x00">1x_Refresh</value>
    <value id="0x10">2x_Refresh</value>
    <value id="0x20">3x_Refresh</value>
    <mask>0x30</mask>
  </Section>
  <Section name="Memory_Refresh_Gen8">
    <helptext><![CDATA[This setting allows the user to change the Memory Refresh setting on Gen8 servers.]]></helptext>
    <platforms>
      <platform>Gen8</platform>
    </platforms>
    <nvram>0x261</nvram>
    <value id="0x01">1x_Refresh</value>
    <value id="0x00">2x_Refresh</value>
    <value id="0x02">3x_Refresh</value>
    <mask>0x03</mask>
  </Section>
  <Section name="Memory_Patrol_Scrubbing_Gen9">
    <helptext><![CDATA[This setting allows the user to enable or disable the Memory Patrol Scrubbing setting on Gen9 servers.]]></helptext>
    <platforms>
      <platform>Gen9</platform>
    </platforms>
    <nvram>0x257</nvram>
    <value id="0x08">Disabled</value>
    <value id="0x00">Enabled</value>
    <mask>0x08</mask>
  </Section>

Create a new hardware description file:

grep -v '</Conrep>' /opt/hp/hp-scripting-tools/etc/conrep.xml > conrep-plus.xml
cat adv.xml >> conrep-plus.xml
echo '</Conrep>' >> conrep-plus.xml

Create snippet that disables the Power-Monitoring option:

$ cat latency.dat
<Conrep>
    <Section name="PowerMonitoring" helptext="This setting determines if Pstate logging and utilization is supported.">Disabled</Section>
</Conrep>

Apply the setting:

# conrep -l -x conrep-plus.xml -f latency.dat

You can check the current settings with:

# conrep -s -x conrep-plus.xml -f current.dat

Conrep is part of the HP Scripting Tools (STK). The simplest way to obtain it is to download it from the HP package repostory (e.g. direct link for CentOS).

HPRCU

HPRCU is similar to Conrep but doesn't require a hardware definition file. However, HP announced its end-of-life in 2014 or so.

With hprcu you have to add the -a option (which is undocumented in the HPRCU manual and online help) to get access to the Power-Monitoring option.

The -a option is mentioned in the 2014er version of HP's Low-Latency guideHP2014, though.

Steps to disable this setting with hprcu:

# hprcu -s -f current.xml -a
# sed 's/\(<feature feature_id="212" selected_option_id="\)1"/\12"/' current.xml \
    > mod.xml
# hprcu -l -f mod.xml -a

HPRCU is also part of the HP Scripting Tools (STK) package. Depending on your hardware you might need to fetch an older version (cf. the support page for your model).

Other Methods

Of course, when you have console access, you can also change it interactively during boot (cf. eewhite's answer). With newer HP servers (Gen9 and later) you can also use the HPE iLO RESTful Interface to change this setting remotely (cf. HP's Low-Latency guide). That means you need then have access to the iLO network whereas with conrep/hprcu you just need root access.

Effects

When switching the Power-Monitoring setting off you should see much less System-Management-Mode-Interrupts (SMIs). You can verify this by measuring them before and after changing this setting.


HP2014: Configuring and tuning HP ProLiant Servers for low-latency applications. Technical white paper. Part Number: 581608-006, May 2014, Edition: 6

HP2017: Configuring and tuning HPE ProLiant Servers for low-latency applications. Technical white paperPart Number: 581608-009, October 2017, Edition: 10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.