Pls review 7091418: FX priority class from Solaris should be available to JVM )M)
paul.hohensee at oracle.com
Fri Jan 20 09:13:21 PST 2012
This change defines a new Java pseudo-priority called CriticalPriority, just
above MaxPriority. Compiler threads, the CMS background thread, and
Java threads can have the os equivalent of this priority. On Solaris,
the FX/60 scheduling class/priority. On other platforms, it's the same
as MaxPriority's os priority.
There are 3 new command line switches, all gated by
Maps Java MAX_PRIORITY to critical priority.
All compiler threads run at critical priority.
The CMS background thread runs at critical priority.
On Solaris, one must in addition use -XX:+UseThreadPriorities to use native
priorities at all. Otherwise, Hotspot just accepts whatever Solaris
Before this change, the Solaris implementation could only change priorities
within the process scheduling class. It didn't change scheduling classes on
a per-thread basis. I added that capability and used it for the
work. I also fixed a bug where we were using thr_setprio() to save the
original native priority during thread creation and reading it back when
the thread started via thr_getprio(). Since thr_setprio() can change the
user-supplied priority, this resulted in an unintended (lower) priority
More information about the hotspot-runtime-dev