RFR(xs): 8150619: Improve thread based logging introduced with 8149036

David Holmes david.holmes at oracle.com
Mon Feb 29 08:39:17 UTC 2016


Hi Thomas,

On 29/02/2016 6:26 PM, Thomas Stüfe wrote:
> Hi David,
>
> New Version:
> http://cr.openjdk.java.net/~stuefe/webrevs/8150619-addon-to-thread-logging/webrev.01/webrev/index.html

Looks fine - thanks. If there are no more comments/changes I'll sponsor 
this in the morning.

> See comments inline.

One follow up below ...

> On Mon, Feb 29, 2016 at 6:55 AM, David Holmes <david.holmes at oracle.com
> <mailto:david.holmes at oracle.com>> wrote:
>
>     Hi Thomas,
>
>
>
>     General: ensure copyright years are updated - somehow some got
>     missed in the push of 8149036.
>
>
> I fixed all copyright years in the file headers. It would be nice if
> jcheck would check this automatically.
>
>     ---
>
>     os_solaris.cpp
>
>     The indent is still not right here:
>
>     893 static char* describe_thr_create_attributes(char* buf, size_t
>     buflen,
>       894                                  size_t stacksize, long flags) {
>
>     size_t should line up with the 'c' in (char*
>
>     Ditto for os_windows.cpp
>
>
> Okay, I fixed that. Sorry, I did not understand the indentation rules
> before.
>
>     ---
>
>     test/runtime/logging/ThreadLoggingTest.java
>
>       2  * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All
>     rights reserved.
>
>     This is new test so only a single copyright year should be present.
>
>
> Fixed.
>
>     You have this:
>
>        54         output.shouldContain("stack guard pages");
>        55         output.shouldContain("stack guard pages");
>
>     but I think the intent was:
>
>             output.shouldContain("stack guard pages activated");
>             output.shouldContain("stack guard pages removed");
>
>
> Changed to one line of "output.shouldContain("stack guard pages");".
> This matches both cases.
>
>       68         pb =
>     ProcessTools.createJavaProcessBuilder("-Xlog:thread*", "-version");
>
>     Okay I'm confused - I thought the whole point of using os+thread
>     here was that you had to enable os _and_ thread level logging ???
>     Else why bother using the two? I would not have expected the above
>     to work! :(
>
>
> No, the logging line is just tagged with both keywords. As far as I
> understand multiple tags in UL there is no way to specify conditions
> like "&&" or "||" - you just tag them - and specifying rules happens on
> the command line with "os+thread" or "os,thread". So all of this: "os*",
> "thread*", "os+thread" should produce an output, the last one will stop
> producing output as soon as someone adds a third tag to the logging calls.

I thought "os,thread" meant os _and_ thread not os _or_ thread. Having 
"thread*" enable this particular logging is very unintuitive to me - 
though "*thread" might make some sense.

Thanks,
David
-----

> Note that I added the "thread" keyword because Marcus requested this:
> http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2016-February/018154.html
>
> But I simplified the test to test once for "os+thread" instead of each
> tag separately. Note that with this change, the test will have to be
> modified if someone adds a third tag.
>
>
>     FYI the test passed on our JPRT system.
>
>
> Great, thanks.
>
> Thank you,
>
> Thomas
>
>     Thanks,
>     David
>
>
>         Thanks & Kind Regards, Thomas
>
>


More information about the hotspot-runtime-dev mailing list