Updated
15 May 2018Form Number
LP0519PDF size
5 pages, 64 KBAbstract
The Lenovo server Unified Extensible Firmware Interface (UEFI) provides the interface between an operating system and the server firmware. Many UEFI tuning parameters can be changed by system administrators to fine-tune the operation of a server. Other UEFI parameters are more limited in their applicability to customer use cases and are not exposed in UEFI menus but can be accessed using Lenovo command line utilities.
This paper describes how to view and change the values of these hidden UEFI parameters on System x servers with Intel E5-2600 v3 and v4 processors. The intended audience is IT administrators and technical professionals who are responsible for server performance.
Change History
Changes in the May 15 update:
- Added a reference to the matching ThinkSystem paper
Introduction
The Lenovo server Unified Extensible Firmware Interface (UEFI) provides the interface between an operating system and the server firmware. Many UEFI parameters are exposed to server administrators in UEFI menus that can be accessed by pressing F1 when a server is rebooted, through the Lenovo integrated management module (IMM) or through command line utilities such as Lenovo’s Advanced Settings Utility (ASU) or OneCLI.
These parameters are exposed because they are commonly changed from their default values to fine tune server performance for a wide variety of customer use cases. Other UEFI settings are more limited in their applicability to customer use cases and are not exposed in UEFI menus but can be accessed using the command line utilities.
In this paper, we describe the following commands that are only accessible via command-line utilities:
- Snoop Response Hold Off
- IO Non-Posted Prefetch
These commands are available for System x servers that use the Intel E5-2600 v3 and v4 processors.
Tip: ThinkSystem servers with Intel Xeon Scalable Family processors also have hidden UEFI parameters as described in the paper ThinkSystem Hidden UEFI Parameters.
Snoop Response Hold Off
This hidden parameter is accessible on Lenovo System x servers that use the Intel E5-2600 v3 and v4 processors, as well as ThinkSystem servers with Intel Xeon Scalable Family processors.
For some workloads in which throughput and latency are critical, it is better to constantly poll the status of an I/O device rather than use an interrupt. Network adapter device drivers commonly use a thread to continuously poll in a fast loop so that incoming requests can be handled as fast as possible.
This can create contention between a processor core running the polling thread and the processor’s Integrated I/O feature (IIO) for an I/O-owned line in cache. This contention can cause an I/O operation to lose ownership of the cache line it has just acquired. It must then spend more time reacquiring the cache line to write it back.
When there are a large number of network ports each servicing small packets, the system may not be able to achieve the full throughput required due to excessive I/O and core contentions of cache lines. For this situation, the I/O operation should delay its response to core snoops and hold onto its cache lines until it successfully completes its write.
The Snoop Response Hold Off parameter allows the I/O operation to delay its snoop response by a selected amount to achieve this delay. It is possible to adjust this parameter using Lenovo’s Advanced Settings Utility (ASU) or the OneCLI tool as follows.
ASU command:
To show the current setting or to change the setting with ASU, use these commands:
asu64 show Processors.SnoopResponseHoldOff --override asu64 set Processors.SnoopResponseHoldOff value --override
Where value is a number from 0 to 15 . The default (initial value) is 6. The parameter --override is required when viewing or changing the setting.
OneCLI command:
To show the current setting or to change the setting with OneCLI, use these commands:
onecli config show Processors.SnoopResponseHoldOff --override onecli config set Processors.SnoopResponseHoldOff value --override
Where value is a number from 0 to 15. The default (initial value) is 6. The parameter --override is required when viewing or changing the setting.
For both ASU and OneCLI, the parameter value can be between 0 and 15, which corresponds to a number cycles as shown in following table. The cycles in the table are IIO clock cycles which are 2 ns per cycle. For Intel Omni-Path network adapter use, we recommend setting this parameter to 9 as a starting point. Network performance tests should be performed to determine the most optimal value for each customer’s workload.
IO Non-Posted Prefetch
This hidden parameter is accessible on Lenovo System x servers that use the Intel E5-2600 v3 and v4 processors.
The E5-2600 v3 and v4 processors provide 40 lanes of PCIe interconnect. It is possible to support up to five x8 PCIe configurations per processor. If these x8 PCIe devices are primarily performing memory reads, improved throughput is possible by turning on non-posted prefetches. This allows more requests to be issued even if internal switch queues are full. This provides better throughput for 100% reads, but may reduce the performance for some PCIe memory writes.
This parameter can be modified using Lenovo’s Advanced Settings Utility or the OneCLI tool as follows.
ASU command:
To show the current setting or to change the setting with ASU, use these commands:
asu64 show Processors.IouNpPrefetch --override asu64 set Processors.IouNpPrefetch value --override
Where value is Disable or Enable. The default (initial value) is Disable. The parameter --override is required when viewing or changing the setting.
OneCLI command:
To show the current setting or to change the setting with OneCLI, use these commands:
onecli config show Processors.IouNpPrefetch --override onecli config set Processors.IouNpPrefetch value --override
Where value is Disable or Enable. The parameter --override is required when viewing or changing the setting.
Trademarks
Lenovo and the Lenovo logo are trademarks or registered trademarks of Lenovo in the United States, other countries, or both. A current list of Lenovo trademarks is available on the Web at https://www.lenovo.com/us/en/legal/copytrade/.
The following terms are trademarks of Lenovo in the United States, other countries, or both:
Lenovo®
System x®
ThinkSystem®
The following terms are trademarks of other companies:
Intel® and Xeon® are trademarks of Intel Corporation or its subsidiaries.
Other company, product, or service names may be trademarks or service marks of others.
Configure and Buy
Full Change History
Course Detail
Employees Only Content
The content in this document with a is only visible to employees who are logged in. Logon using your Lenovo ITcode and password via Lenovo single-signon (SSO).
The owner of the document has determined that this content is classified as Lenovo Internal and should not be normally be made available to people who are not employees or contractors. This includes partners, customers, and competitors. The reasons may vary and you should reach out to the authors of the document for clarification, if needed. Be cautious about sharing this content with others as it may contain sensitive information.
Any visitor to the Lenovo Press web site who is not logged on will not be able to see this employee-only content. This content is excluded from search engine indexes and will not appear in any search results.
For all users, including logged-in employees, this employee-only content does not appear in the PDF version of this document.
This functionality is cookie based. The web site will normally remember your login state between browser sessions, however, if you clear cookies at the end of a session or work in an Incognito/Private browser window, then you will need to log in each time.
If you have any questions about this feature of the Lenovo Press web, please email David Watts at dwatts@lenovo.com.