JDK-2146656 : Support allocate prefetching of several sequential cache lines
  • Type: Backport
  • Backport of: JDK-6488532
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2007-02-08
  • Updated: 2010-04-03
  • Resolved: 2007-03-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 Other
6u2 b01Fixed hs10Fixed
Description
See main bug description.

Comments
SUGGESTED FIX Webrev: http://prt-web.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/1.6/update2/baseline/2007/20070213092838.kvn.6488532_6u2/workspace/webrevs/webrev-2007.02.13/index.html 1. Added new allocate prefetch options: Number of lines to prefetch: AllocatePrefetchLines = 1 Step size in bytes of sequential prefetch: AllocatePrefetchStepSize = 16 (niagara1 has data L1 line size == 16) Prefetch instruction used to allocate: AllocatePrefetchInstr = 0 ( allow to select prefetch instruction on x86/x64: 0 - PREFETCHNTA, 1 - PREFETCHT0, 2 - PREFETCHT2, 3 - PREFETCHW ) Prefetch instruction used to read: ReadPrefetchInstr = 0 ( allow to select prefetch instruction on x86/x64: 0 - PREFETCHNTA, 1 - PREFETCHT0, 2 - PREFETCHT2, 3 - PREFETCHR ) By default PREFETCHNTA is used instead of PREFETCHW on Opteron since it shows better jbb scores. 2. Allocate prefetch several sequential cache lines based on allocate prefetch options. 3. Set UseSSE and prefetch options values during initialization. We don't need to specify these options in platform specific header files since they are modified during initialization any way. 4. Check new x86/x64 processors features and update the output for PrintMiscellaneous flag: fez% gamma -XX:AllocatePrefetchLines=3 -XX:+Verbose -XX:+PrintMiscellaneous VM option 'AllocatePrefetchLines=3' VM option '+Verbose' VM option '+PrintMiscellaneous' [SafePoint Polling address: 0xfdf40000] [Memory Serialize Page address: 0xfde90000] Logical CPUs per package: 1 UseSSE=3 L1 data cache line size: 64 Allocation: PREFETCHNTA 384, 3 lines with step 64 bytes CPU:total 4 (2 cores per cpu, 1 threads per core) family 15 model 33 stepping 0, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext
13-02-2007

EVALUATION specjbb2005 4.5% improvement on AMD Opteron.
08-02-2007