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

Hotspot should use PICL interface to get cacheline size on SPARC

    XMLWordPrintable

Details

    • b32
    • sparc
    • 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

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

                Dates

                  Created:
                  Updated:
                  Resolved: