On Wed, 22 Dec 2021 02:59:43 GMT, Erik Gahlin <egah...@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

Reply via email to