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

Remove the -Xconcurrentio flag and associated code

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 12
    • 12
    • hotspot
    • b20

      The -Xconcurrentio flag was introduced primarily for Solaris way back in the JDK 1.2/1.3 timeframe. It's an "undocumented" flag that of course ended up being documented in numerous FAQs and tuning guides primarily because it was initially useful on Solaris to switch to LWP-based synchronization. However that became the default back in JDK 1.4.

      Exactly what "io" has to do with this flag and what makes it "concurrent" is a complete mystery to me.

      The flag has the following effect on other flags:

      1. UseLWPSynchronization = true

      Default since JDK 1.4 so not needed.

      2. BackgroundCompilation = false

      3. SafepointSynchronize::set_defer_thr_suspend_loop_count()

      This sets the defer_thr_suspend_loop_count to 1 instead of the default (currently 4000). This causes the VMThread to block in os::naked_short_sleep(1) for every iteration whilst waiting for running threads, instead of yielding - but only if we don't do SpinPause.

      4. UseTLAB = false

      5. NewSizeThreadIncrease = 16K

      There's really no reason to ever use this flag, even if you wanted to adjust the behaviour of the other flags.

      I suggest removing it.

            dholmes David Holmes
            dholmes David Holmes
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: