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

RISC-V: Vector can't be turned on with -XX:+UseRVV

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P5 P5
    • 25
    • 25
    • hotspot
    • b16
    • riscv
    • linux

      After JDK-8348384, Vector can't be turned on with -XX:+UseRVV when Linux kernels before 6.8.5, which does not match the printed log:
      ```
      log.info("Linux kernels before 6.8.5 (current %ld.%ld.%ld) have a known bug when using Vector and signals.", major, minor, patch);
      log.info("Vector not enabled automatically via hwprobe, but can be turned on with -XX:+UseRVV.");
      ```

      Testing on QEMU:
      ```
      $ uname -a
      Linux ubuntu 6.8.0-52-generic #53.1-Ubuntu SMP PREEMPT_DYNAMIC Sun Jan 26 04:38:25 UTC 2025 riscv64 riscv64 riscv64 GNU/Linux
      ```
      ```
      $ ./java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -version | grep UseRVV
           bool UseRVV = false {ARCH diagnostic} {default}
      openjdk version "25-internal" 2025-09-16
      OpenJDK Runtime Environment (build 25-internal-adhoc.zhangdingli.jdk)
      OpenJDK 64-Bit Server VM (build 25-internal-adhoc.zhangdingli.jdk, mixed mode)

      $ ./java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+UseRVV -version | grep UseRVV
      OpenJDK 64-Bit Server VM warning: RVV is not supported on this CPU
           bool UseRVV = false {ARCH diagnostic} {command line}
      openjdk version "25-internal" 2025-09-16
      OpenJDK Runtime Environment (build 25-internal-adhoc.zhangdingli.jdk)
      OpenJDK 64-Bit Server VM (build 25-internal-adhoc.zhangdingli.jdk, mixed mode)

      $ ./java -XX:+UnlockDiagnosticVMOptions -XX:+UseRVV -Xlog:os=info -version
      [0.024s][info][os] Use of CLOCK_MONOTONIC is supported
      [0.026s][info][os] Use of pthread_condattr_setclock is supported
      [0.026s][info][os] Relative timed-wait using pthread_cond_timedwait is associated with CLOCK_MONOTONIC
      [0.027s][info][os] HotSpot is running with glibc 2.39, NPTL 2.39
      [0.027s][info][os] Glibc stack size guard page adjustment is not needed
      [0.029s][info][os] SafePoint Polling address, bad (protected) page:0x00007ff8a7349000, good (unprotected) page:0x00007ff8a734a000
      [0.044s][info][os] attempting shared library load of /home/ubuntu/jdk-rvv-before/lib/libjava.so
      [0.047s][info][os] shared library load of /home/ubuntu/jdk-rvv-before/lib/libjava.so was successful
      [0.052s][info][os] Linux kernels before 6.8.5 (current 6.8.0) have a known bug when using Vector and signals.
      [0.052s][info][os] Vector not enabled automatically via hwprobe, but can be turned on with -XX:+UseRVV.
      OpenJDK 64-Bit Server VM warning: RVV is not supported on this CPU
      [0.748s][info][os] Initialized VM with process ID 33279
      openjdk version "25-internal" 2025-09-16
      OpenJDK Runtime Environment (build 25-internal-adhoc.zhangdingli.jdk)
      OpenJDK 64-Bit Server VM (build 25-internal-adhoc.zhangdingli.jdk, mixed mode)
      ```

            dzhang Dingli Zhang
            dzhang Dingli Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: