JDK-7029168 : conditional card marks should be automatically enabled for some configs
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs21,9,10
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2011-03-18
  • Updated: 2018-10-05
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.
Other
tbdUnresolved
Related Reports
Relates :  
Description
Conditional card marks (-XX:UseCondCardMark) should be enabled automatically for multi socket configs.

Comments
EVALUATION It would require figuring out the topology of the current machine which is fairly tricky. From Vladimir: For NUMA we assign local memory group id to each java thread. Since most modern cpus have local memory controllers we may use it to determine how many sockets we are running on. But we do not have it for Windows. And, yes, in general on x86 we can do: sockets = os::active_processor_count()/(VM_Version::cores_per_cpu() * VM_Version::logical_processors_per_package()) But on sparc VM does not have cores and threads per cpu info currently. Note, active_processor_count() on Solaris takes into account a processor set VM runs on. On windows it takes into account affinity. Only linux does not have it: int os::active_processor_count() { // Linux doesn't yet have a (official) notion of processor sets, // so just return the number of online processors. int online_cpus = ::sysconf(_SC_NPROCESSORS_ONLN); But you can create processor set which use one thread per socket which invalidates the expression above. Then there is zoning/virtualization and I don't know how we handle it. As you can see, it is mess. Vladimir
18-03-2011