RFR : 8222280 : Provide virtualization related info in the hs_error file on AIX

Baesken, Matthias matthias.baesken at sap.com
Mon Apr 15 07:09:52 UTC 2019


Hi Christoph, thanks for the review .
So I stay with the direct  usage  perfstat API in my change .

>
> As regards to libperfstat usage: I think we should clean this up and try to link
> during the build/use the system headers. We don't need to support AIX V5.3
> as build release any longer and probably all required functionality is
> contained in the headers of the required minimum AIX build release. This
> needs to be doublechecked when attempting the cleanup, though.
>

I think  this should be done in a separate change .
Can we assume  minimum AIX 7.1  at  build+runtime  (I guess this would make things easier and it is anyway documented in the build platforms Wiki) ?

Currently I see these usages of  libperfstat::

os_aix.cpp

748  const int rc = libperfstat::perfstat_memory_total(NULL, &psmt, sizeof(psmt), 1);
1400 libperfstat::wparinfo_t wi;
1401 if (libperfstat::get_wparinfo(&wi)) {
1409 libperfstat::partitioninfo_t pi;
1410 if (libperfstat::get_partitioninfo(&pi)) {
3482 libperfstat::perfstat_reset();
4004 // AIX: use libperfstat
4005 libperfstat::cpuinfo_t ci;
4006 if (libperfstat::get_cpuinfo(&ci)) {
4183 if (!libperfstat::init()) {


Best regards, Matthias

> -----Original Message-----
> From: Langer, Christoph
> Sent: Montag, 15. April 2019 08:13
> To: Baesken, Matthias <matthias.baesken at sap.com>; ppc-aix-port-
> dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' <hotspot-
> dev at openjdk.java.net>
> Subject: RE: RFR : 8222280 : Provide virtualization related info in the hs_error
> file on AIX
> 
> Hi Matthias,
> 
> I think the change is good.
> 
> As regards to libperfstat usage: I think we should clean this up and try to link
> during the build/use the system headers. We don't need to support AIX V5.3
> as build release any longer and probably all required functionality is
> contained in the headers of the required minimum AIX build release. This
> needs to be doublechecked when attempting the cleanup, though.
> 
> Best regards
> Christoph
> 
> > -----Original Message-----
> > From: hotspot-dev <hotspot-dev-bounces at openjdk.java.net> On Behalf
> Of
> > Baesken, Matthias
> > Sent: Freitag, 12. April 2019 14:52
> > To: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'
> > <hotspot-dev at openjdk.java.net>
> > Subject: RFR : 8222280 : Provide virtualization related info in the hs_error
> file
> > on AIX
> >
> > Hello, please review the following  change . It brings  AIX related
> > virtualization information into the hs_err file .
> >
> > While preparing the patch  I wondered a bit  about the   libperfstat   usage
> in
> > OpenJDK  (Hotspot  compared to JDK ).
> > In JDK  we link already to  libperfstat at build time , see  :
> >
> > jdk/make/lib/Lib-java.management.gmk
> > BUILD_LIBMANAGEMENT
> >
> > jdk/make/lib/Lib-jdk.management.gmk
> > BUILD_LIBMANAGEMENT_EXT
> >
> >
> > While in hotspot dlopen/dladdr is used ,  see
> > jdk/src/hotspot/os/aix/libperfstat_aix.cpp
> >
> > 58 bool libperfstat::init() {
> > 59
> > 60  // Dynamically load the libperfstat porting library.
> > 61  g_libhandle = dlopen("/usr/lib/libperfstat.a(shr_64.o)", RTLD_MEMBER
> |
> > RTLD_NOW);
> > 62  if (!g_libhandle) {
> > 63    trcVerbose("Cannot load libperfstat.a (dlerror: %s)", dlerror());
> > 64    return false;
> > 65  }
> >
> > we  dlopen  and then resolve symbols at runtime.
> > This was probably a good thing back then when AIX 5.3 was still supported
> as
> > build platform  ,  but I am not sure if it is still needed these days  on AIX
> > 7.1/7.2  .
> >
> > But  in case  the  dlopen/dladdr approach  in HS  is still needed/wanted , I
> > would  switch  to  the   libperfstat::   functions .
> >
> > Bug/webrev  :
> >
> > https://bugs.openjdk.java.net/browse/JDK-8222280
> >
> > http://cr.openjdk.java.net/~mbaesken/webrevs/8222280_aix_virt.0/
> >
> >
> > Thanks , Matthias


More information about the ppc-aix-port-dev mailing list