RFR: 8229517: Support for optional asynchronous/buffered logging

David Holmes david.holmes at oracle.com
Tue May 25 06:47:48 UTC 2021


On 25/05/2021 3:51 pm, Xin Liu wrote:
> On Tue, 25 May 2021 05:25:40 GMT, David Holmes <david.holmes at oracle.com> wrote:
> 
>> I'm not sure what that means as I only expect there to be one timestamp.
> I'm just not sure if it is recording the time at which the log call was
> made, or the time (later) when that log record was actually written out?
> 
> Sorry. I updated the answer today. Let me elaborate it. Current implementation uses the original timestamps, which are accurate. When I create AsyncLogMessage instance, I copy _decorations.
> @tstuefe recently compressed that class.
> 
>> Using what applications and logging settings?
> 
> My observation is based on my integration test. Current semaphore-based synchronization can catch up the pace of gclog=trace.
> https://github.com/openjdk/jdk/pull/3135#issuecomment-827135465
> 
>> If the buffer is nearly always empty and so it is very unlikely that the
> final flush will have much, if anything to do, then arguably you don't
> need the io_sem complexity.
> 
> _io_sem is introduced to pass unified logging test in async mode. I just enable them.
> https://github.com/openjdk/jdk/pull/3135/commits/2ffc33feaf5757bc5744440278e7750a9f2b81bf

It isn't at all clear why it was necessary to introduce the io_sem just 
so some gtest will pass. Why did these tests fail?

Thanks,
David
-----

> -------------
> 
> PR: https://git.openjdk.java.net/jdk/pull/3135
> 


More information about the hotspot-dev mailing list