Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8056124

Hotspot should use PICL interface to get cacheline size on SPARC

    Details

    • Subcomponent:
    • Resolved In Build:
      b32
    • CPU:
      sparc
    • OS:
      generic

      Backports

        Description

        Currently the cache line size on SPARC is hardcoded into VM:

         static intx prefetch_data_size() {
            return is_T4() && !is_T7() ? 32 : 64; // default prefetch block size on sparc
         }

         static bool is_T4() { return is_T_family(_features) && has_cbcond(); }
         static bool is_T7() { return is_T_family(_features) && has_sparc5_instr(); }

        Where is_T_family() relies on data from kstat library:

        } else if (strstr(impl, "SPARC-T") != NULL) {
          features |= T_family_m;

        Unfortunately in virtual machine kstat may not provide such information (JDK-8035283).

        We should use PICL (libpicl.so) interface to get (L2) cache line size on SPARC. I verified that Solaris 10u9, which is jdk7 supported OS, has libpicl.so.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  iveresov Igor Veresov
                  Reporter:
                  kvn Vladimir Kozlov
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: