Compiling libjvm.so as PIC

Omair Majid omajid at redhat.com
Thu Dec 18 07:26:09 PST 2008


Matthias Klose wrote:
> Omair Majid schrieb:
>> Ionana and I have been trying to get icedtea to work when built as a
>> normal user with SELinux enabled. SELinux stops java from loading
>> libjvm.so which is built as non-PIC. Please see
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6538311 for more
>> information.
>>
>> The bug report states that building libjvm.so as PIC has performance
>> penalties. Ioana and I have been comparing the performance of a JVM
>> built as PIC with one built as non-PIC for the last few days. For the
>> JVM built as PIC, the fastest run was about 3% faster than the slowest.
>> For the JVM built as non-PIC, the fastest run was about 1% faster than
>> the slowest. Comparing the average performance, the PIC JVM seems to be
>> faster by 0.59% which indicates that any difference in performance is
>> negligible.
>>
>> Building libjmv.so as PIC should also result in memory savings as the
>> code segment will be shared across processes.
>>
>> The attached patch will build libjvm.so as PIC. Any objections to
>> applying it?
> 
> does it make a difference with SELinux disabled?
> 

I just finished running the tests with SELinux disabled. The performance 
difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the 
PIC jvm being actually faster. So any performance loss is negligible.

Omair



More information about the distro-pkg-dev mailing list