RFR: 8267952: async logging supports to dynamically change tags and decorators [v4]
David Holmes
david.holmes at oracle.com
Fri Jun 18 06:12:20 UTC 2021
On 18/06/2021 12:00 pm, David Holmes wrote:
> 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.
Not complete yet but the asynclogTest failed again:
- one crash with the SEGV in flockfile
- one crash with assert(bitmask == _decorators._decorators) failed:
LogOutput: 4095 decorations: 0 message = ConcurrentLogsite 0 emits a log
David
-----
> 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