RFR : 8222280 : Provide virtualization related info in the hs_error file on AIX
Doerr, Martin
martin.doerr at sap.com
Tue Apr 16 13:25:07 UTC 2019
Hi Matthias,
I agree with that the libperfstat_aix should be discussed separately.
It was needed for 2 reasons:
- Support as400/PASE where it is not available at all.
- Handle changes between AIX versions.
With jdk13, we currently only support AIX 7.2 so including the system header should be fine for now.
I can't estimate if there will be changes in future AIX versions which make our own lib important again.
But I suggest to remove our own libperfstat_aix in a follow up change with the risk that we may potentially have to add it back.
I'd like to hear Thomas' opinion on this, too.
We currently support neither as400 nor any other AIX, so your change looks good to me.
Best regards,
Martin
-----Original Message-----
From: ppc-aix-port-dev <ppc-aix-port-dev-bounces at openjdk.java.net> On Behalf Of Baesken, Matthias
Sent: Dienstag, 16. April 2019 13:52
To: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' <hotspot-dev at openjdk.java.net>
Subject: [CAUTION] RE: RFR : 8222280 : Provide virtualization related info in the hs_error file on AIX
Ping - may I get a second review for this ?
Best regards, Matthias
> -----Original Message-----
> From: Baesken, Matthias
> Sent: Montag, 15. April 2019 09:10
> To: Langer, Christoph <christoph.langer 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 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