United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7065535 Mistyped function name that disabled UseLargePages on Windows
JDK-7065535 : Mistyped function name that disabled UseLargePages on Windows

Details
Type:
Bug
Submit Date:
2011-07-11
Status:
Closed
Updated Date:
2012-10-08
Project Name:
JDK
Resolved Date:
2011-07-13
Component:
hotspot
OS:
windows_2000
Sub-Component:
runtime
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u27
Fixed Versions:
6u27 (b06)

Related Reports
Backport:
Backport:
Backport:
Backport:

Sub Tasks

Description
Hotspot dynamically loads advapi32.dll and discovers LookupPrivilegeValue function for enabling UseLargePages commandline option. However, LookupPrivilegeValue has two versions, LookupPrivilegeValueA and LookupPrivilegeValueW. For Hotspot, it should use LookupPrivilegeValueA version.

6u27 missed "A" at the end of function name, that caused function can not be allocated, which will disable "UseLargePages" option.

This can be the root that causes 9% performance regression on SPECjbb2005, discovered by Intel.
Be aware, UseLargePages commandline option requires a special security permission on local machine, please refer to comments in os_windows.cpp for how to set it up.

                                    

Comments
EVALUATION

As mentioned in bug report, Advapi32Dll::LookupPrivilegeValue should use LookupPrivilegeValueA for function pointer.
                                     
2011-07-11
EVALUATION

Fix of CR 7032591 caused this regression.
                                     
2011-07-21
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/279ef1916773
                                     
2011-08-16
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/279ef1916773
                                     
2011-08-18



Hardware and Software, Engineered to Work Together