[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-hotspot-runtime-dev
Subject: Re: RFR: 8203290: [PPC64, s390] Check functionality of JDK-8199712 (Flight Recorder) [v16]
From: Tyler Steele <duke () openjdk ! java ! net>
Date: 2022-01-31 23:10:14
Message-ID: JqNKLgTRv6jNQMN1Ae9JHJNebmzt0rPql6JU9L6izs0=.e130d249-51dc-44f0-a147-2385bd81c996 () github ! com
[Download RAW message or body]
On Sat, 29 Jan 2022 06:30:01 GMT, Thomas Stuefe <stuefe@openjdk.org> wrote:
> > Tyler Steele has updated the pull request incrementally with two additional \
> > commits since the last revision:
> > - Changes macoss -> macosx in problem list
> > - Refactors loadlib_aix: Removes redundant c++ class
>
> src/hotspot/os/aix/os_perf_aix.cpp line 72:
>
> > 70:
> > 71: static bool initialize_libperfstat() {
> > 72: static bool is_libperfstat_loaded = false;
>
> I don't think this is needed. libperfstat is initialized as part of os::init in \
> os_aix.cpp.
> https://github.com/openjdk/jdk/blob/d366d15d67a08833d93a5806edef8145cb7803e5/src/hotspot/os/aix/os_aix.cpp#L2999-L3008
> https://github.com/openjdk/jdk/blob/d366d15d67a08833d93a5806edef8145cb7803e5/src/hotspot/os/aix/os_aix.cpp#L2329-L2333
>
> Should be already active at this point. Its functions are stubbed out in case the \
> library cannot be loaded, so you should be able to call them in here, without an \
> additional init check. You just have to handle the errors on the individual API \
> calls, as if the real APIs returned errors. But you do this already I think.
> Long term, if you think libperfstat should be always there, we can simplify things \
> and treat libperfstat load errors as hard VM errors in release builds too. We \
> already assert in `os::Aix::initialize_libperfstat()`. (Note: "assert" fires in \
> debug builds (ASSERT macro), and "guarantee" fires in all builds).
Aha! I saw the definition of initialize_libperfstat(), but not that it was later \
called in os::init(). It did always feel strange to manually initialize libperfstat \
as I was doing. Thanks for pointing this out.
> src/hotspot/os/aix/os_perf_aix.cpp line 611:
>
> > 609:
> > 610: // calling perfstat_<subsystem>(NULL, NULL, _, 0) returns number of \
> > available records
> > 611: if ((n_records = libperfstat::perfstat_netinterface(NULL, NULL, \
> > sizeof(perfstat_netinterface_t), 0)) <= 0) {
>
> is n=0 an error? Could there conceivably be zero interfaces?
Good point. I agree it's not reasonable to return an error if there are simply no \
network interfaces.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6885
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic