RFR: 8267952: async logging supports to dynamically change tags and decorators [v4]

David Holmes david.holmes at oracle.com
Fri Jun 18 02:00:01 UTC 2021


Hi Xin,

On 18/06/2021 9:29 am, Xin Liu wrote:
>> Support dynamic reconfiguration for async logging. 2 unittests are provided.
>> The regression test discovers a race condition in LogTagSet::log() even with
>> synchronous logging. It's not MT-safe if context switch happens between the
>> creation of LogDecorations  and LogOutputList::Iterator. fixed.
> 
> Xin Liu has updated the pull request incrementally with one additional commit since the last revision:
> 
>    Use Atomic::load/store for decorators.
>    
>    This patch also installed a sanity check which will assert that
>    LogOutput::_decorators is subset of LogDecocrations. It will disclose
>    more information if the assertion fails.

I'm putting these latest changes through tier6 and 7 testing - but there 
is a big backlog at the moment so I don't know when I will get results.

Looking at the code I still find it very difficult to see what actions 
can happen concurrently and what mechanism ensure correct concurrent 
actions. The wait_until_no_readers() logic doesn't make sense to me as I 
can't see what stops the number of readers from increasing the moment 
after it was read as zero! The relationships between all the different 
objects is far from clear to me.

David
-----

> -------------
> 
> Changes:
>    - all: https://git.openjdk.java.net/jdk/pull/4408/files
>    - new: https://git.openjdk.java.net/jdk/pull/4408/files/4d2de713..f279f263
> 
> Webrevs:
>   - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4408&range=03
>   - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4408&range=02-03
> 
>    Stats: 85 lines in 8 files changed: 71 ins; 5 del; 9 mod
>    Patch: https://git.openjdk.java.net/jdk/pull/4408.diff
>    Fetch: git fetch https://git.openjdk.java.net/jdk pull/4408/head:pull/4408
> 
> PR: https://git.openjdk.java.net/jdk/pull/4408
> 


More information about the hotspot-runtime-dev mailing list