ergo default for GCTaskTimestampEntries etc.

Srinivas Ramakrishna ysr1729 at gmail.com
Mon Jun 18 19:48:38 UTC 2012


Hi John, all --

I recently saw the JVM complain that the default value of
GCTaskTimestampEntries was too low, when it was run with
+PrintGCTaskTimeStamps :-

GCTaskTimeStamp* GCTaskThread::time_stamp_at(uint index) {
  guarantee(index < GCTaskTimeStampEntries, "increase
GCTaskTimeStampEntries");  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  return &(_time_stamps[index]);
}

Firstly, a guarantee here and an exit seems too draconian, rather the
logging should drop the value presented and carry on. The culrpit is this
piece of
code in the GCTaskThread work loop:-

        if (PrintGCTaskTimeStamps) {
          assert(_time_stamps != NULL,
            "Sanity (PrintGCTaskTimeStamps set late?)");

          timer.update();

          GCTaskTimeStamp* time_stamp = time_stamp_at(_time_stamp_index++);

          time_stamp->set_name(name);
          time_stamp->set_entry_time(entry_time);
          time_stamp->set_exit_time(timer.ticks());
        }


Secondly, does the max # timestamp entries depend on factors that could be
set ergonomically upon start-up so one doesn't need to navigate here by
trial-and-error?

Also, it would be great if one could have a suboption whereby such verbose
logging could be limited to specific phases of GC, which could turn the
verbosity
level up and down as specified. For example, I might want the logging only
for major gc cycles of ParallelOldGC and not otherwise, so I should be able
to
say, for example: PrintParallelOldGCTaskTimeStamps (or equivalently say
PrintGCTaskTimeStamps=ParllelOld) and have the verbose logging be limited to
that phase of GC. May be the logging framework can address issues like this
in a consistent and uniform fashion.

Thanks!
-- ramki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20120618/264ec8e6/attachment.htm>


More information about the hotspot-gc-dev mailing list