Compiling libjvm.so as PIC
Omair Majid
omajid at redhat.com
Thu Dec 18 14:29:59 PST 2008
Omair Majid wrote:
> 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
Just wanted to add that the libjvm.so in the old hotspot was built as
PIC: http://icedtea.classpath.org/hg/icedtea6/rev/e19c20030ba4
Omair
More information about the distro-pkg-dev
mailing list