RFR: 8203290: [PPC64, s390] Check functionality of JDK-8199712 (Flight Recorder)

Tyler duke at openjdk.java.net
Wed Dec 22 17:10:15 UTC 2021


On Wed, 22 Dec 2021 02:59:43 GMT, Erik Gahlin <egahlin at openjdk.org> wrote:

>> Just in time for the holidays I have completed an implementation of the JFR functionality for AIX. As a side note, this is my first submission to OpenJDK 👋
>> 
>> ### Implementation notes and alternatives considered
>> 
>> After modifying the build system to allow the --enable-jvm-feature-jfr to work on AIX, my task was to implement the interfaces from os_perf.hpp. The os_perf_aix.cpp implementation that existed was, I believe, a copy of the Linux implementation. A review of the code in that file showed that NetworkInterface, CPUPerformanceInterface, and SystemProcessInterface would require modification to work on AIX. Using the Linux implementation as a guide, I initially expected to use files from the aix procfs like /proc/<pid>/psinfo, and /proc/<pid>/status in a manner similar to the Linux implementation. However, I ended up using libperfstat for all functionality required by the interfaces.
>> 
>> ### Testing
>> 
>> Testing for JFR seems to be quite light in the repo both before and after this change. In addition to performing manual testing, I have added some basic sanity checks that ensure events can be created and committed (using jtreg), and performs some basic checks on the results of the interface member functions (using gtest).
>> 
>> ### More notes
>> 
>> I've sent an email to the JFR group about a TOC overflow warning I encountered while building (for the release server target). I believe the fix is to pass -qpic=large when using the xlc toolchain, but my modifications to flags-cflags.m4 have not been successful in removing this warning.
>
> I don't have access to AIX, but there are 500+ tests in test/jdk/jdk/jfr you might want to try out.

Thanks @egahlin and @dholmes-ora. Responses to your comments below:


> I don't have access to AIX, but there are 500+ tests in test/jdk/jdk/jfr you might want to try out.


I definitely missed these! I ran them on my AIX testing machine and found a few failures. I'll look into them. 



> Also are you aware that we have `src/hotspot/os/aix/libperfstat_aix.*` ?


Thanks for pointing me to this, I was not aware of it. I will spend some time to assess whether I can make use of it.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6885



More information about the build-dev mailing list