On Sun, Mar 14, 2010 at 4:32 PM, Shockley, Gerard C <[email protected]> wrote:
> Some time ago it was asserted that there was an issue within the Java 1.6 
> code where an active timer loop was implemented in the JSDK for "performance 
> improvement".  Thus causing an IDLE s390x system to appear to be using 99.X % 
> CPU with HIGH CPUTIME for the java process.
>
> I realize several colleagues were aware (GT 6 mos ago) and I've substantially 
> been able to stay clear of the 1.6 code, until today.  New apps are driving 
> this requirement.
>
> Can anyone provide additional insight? Who is working on it?

My observations in this area were on JVM 1.5 that introduced a new
optimizer that used polling to collect statistics for the profiler.
According to my notes, JVM 1.5 SR4 introduced an unsupported and
undocumented option to disarm it, and JVM 1.5 SR6 arranged to stop
polling when there was no class active. So we should assume it's not
present in your 1.6 JVM. But no guarantee that nothing else has been
broken since...

> strace reveals active function call in futex()
> http://en.wikipedia.org/wiki/Futex
>
> This appears to be 100x worse then the old kernel timer pop event.

There's also a kernel bug that rounds small delays to 0 which makes
polling very painful. That would show by extremely high SIE intercepts
(see ESACPUU) and high CP overhead. With the proper patches, the
kernel will round the small delay up to 10 ms and reduce the CPU cost
of polling (but it will still prevent the virtual machine dropping
from queue when idle).

If you're on a kernel 2.6.21 or later, you might want to pick up a
copy of PowerTop which identifies the process that is polling (there's
a s390x version at http://www.rvdheij.nl/linux/ )  You can match the
PID against a java coredump and point fingers.

Rob
-- 
Rob van der Heij
Velocity Software
http://www.velocitysoftware.com/

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to