< prev index next >

src/hotspot/share/gc/g1/g1Analytics.cpp

Print this page
rev 56067 : [mq]: renaming
rev 56069 : [mq]: copyrights

*** 1,7 **** /* ! * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 36,46 **** // all the same static double rs_length_diff_defaults[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; ! static double cost_per_log_buffer_entry_ms_defaults[] = { 0.01, 0.005, 0.005, 0.003, 0.003, 0.002, 0.002, 0.0015 }; // all the same static double young_cards_per_entry_ratio_defaults[] = { --- 36,46 ---- // all the same static double rs_length_diff_defaults[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; ! static double cost_per_logged_card_ms_defaults[] = { 0.01, 0.005, 0.005, 0.003, 0.003, 0.002, 0.002, 0.0015 }; // all the same static double young_cards_per_entry_ratio_defaults[] = {
*** 75,85 **** _concurrent_mark_remark_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)), _concurrent_mark_cleanup_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)), _alloc_rate_ms_seq(new TruncatedSeq(TruncatedSeqLength)), _prev_collection_pause_end_ms(0.0), _rs_length_diff_seq(new TruncatedSeq(TruncatedSeqLength)), ! _cost_per_log_buffer_entry_ms_seq(new TruncatedSeq(TruncatedSeqLength)), _cost_scan_hcc_seq(new TruncatedSeq(TruncatedSeqLength)), _young_cards_per_entry_ratio_seq(new TruncatedSeq(TruncatedSeqLength)), _mixed_cards_per_entry_ratio_seq(new TruncatedSeq(TruncatedSeqLength)), _young_only_cost_per_remset_card_ms_seq(new TruncatedSeq(TruncatedSeqLength)), _mixed_cost_per_remset_card_ms_seq(new TruncatedSeq(TruncatedSeqLength)), --- 75,85 ---- _concurrent_mark_remark_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)), _concurrent_mark_cleanup_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)), _alloc_rate_ms_seq(new TruncatedSeq(TruncatedSeqLength)), _prev_collection_pause_end_ms(0.0), _rs_length_diff_seq(new TruncatedSeq(TruncatedSeqLength)), ! _cost_per_logged_card_ms_seq(new TruncatedSeq(TruncatedSeqLength)), _cost_scan_hcc_seq(new TruncatedSeq(TruncatedSeqLength)), _young_cards_per_entry_ratio_seq(new TruncatedSeq(TruncatedSeqLength)), _mixed_cards_per_entry_ratio_seq(new TruncatedSeq(TruncatedSeqLength)), _young_only_cost_per_remset_card_ms_seq(new TruncatedSeq(TruncatedSeqLength)), _mixed_cost_per_remset_card_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
*** 99,109 **** _prev_collection_pause_end_ms = os::elapsedTime() * 1000.0; int index = MIN2(ParallelGCThreads - 1, 7u); _rs_length_diff_seq->add(rs_length_diff_defaults[index]); ! _cost_per_log_buffer_entry_ms_seq->add(cost_per_log_buffer_entry_ms_defaults[index]); _cost_scan_hcc_seq->add(0.0); _young_cards_per_entry_ratio_seq->add(young_cards_per_entry_ratio_defaults[index]); _young_only_cost_per_remset_card_ms_seq->add(young_only_cost_per_remset_card_ms_defaults[index]); _cost_per_byte_ms_seq->add(cost_per_byte_ms_defaults[index]); _constant_other_time_ms_seq->add(constant_other_time_ms_defaults[index]); --- 99,109 ---- _prev_collection_pause_end_ms = os::elapsedTime() * 1000.0; int index = MIN2(ParallelGCThreads - 1, 7u); _rs_length_diff_seq->add(rs_length_diff_defaults[index]); ! _cost_per_logged_card_ms_seq->add(cost_per_logged_card_ms_defaults[index]); _cost_scan_hcc_seq->add(0.0); _young_cards_per_entry_ratio_seq->add(young_cards_per_entry_ratio_defaults[index]); _young_only_cost_per_remset_card_ms_seq->add(young_only_cost_per_remset_card_ms_defaults[index]); _cost_per_byte_ms_seq->add(cost_per_byte_ms_defaults[index]); _constant_other_time_ms_seq->add(constant_other_time_ms_defaults[index]);
*** 156,167 **** // This reduces the likelihood of a needless heap expansion being triggered. _last_pause_time_ratio = (pause_time_ms * _recent_prev_end_times_for_all_gcs_sec->num()) / interval_ms; } ! void G1Analytics::report_cost_per_log_buffer_entry_ms(double cost_per_log_buffer_entry_ms) { ! _cost_per_log_buffer_entry_ms_seq->add(cost_per_log_buffer_entry_ms); } void G1Analytics::report_cost_scan_hcc(double cost_scan_hcc) { _cost_scan_hcc_seq->add(cost_scan_hcc); } --- 156,167 ---- // This reduces the likelihood of a needless heap expansion being triggered. _last_pause_time_ratio = (pause_time_ms * _recent_prev_end_times_for_all_gcs_sec->num()) / interval_ms; } ! void G1Analytics::report_cost_per_logged_card_ms(double cost_per_logged_card_ms) { ! _cost_per_logged_card_ms_seq->add(cost_per_logged_card_ms); } void G1Analytics::report_cost_scan_hcc(double cost_scan_hcc) { _cost_scan_hcc_seq->add(cost_scan_hcc); }
*** 220,239 **** double G1Analytics::predict_alloc_rate_ms() const { return get_new_prediction(_alloc_rate_ms_seq); } ! double G1Analytics::predict_cost_per_log_buffer_entry_ms() const { ! return get_new_prediction(_cost_per_log_buffer_entry_ms_seq); } double G1Analytics::predict_scan_hcc_ms() const { return get_new_prediction(_cost_scan_hcc_seq); } double G1Analytics::predict_rs_update_time_ms(size_t pending_cards) const { ! return pending_cards * predict_cost_per_log_buffer_entry_ms() + predict_scan_hcc_ms(); } double G1Analytics::predict_young_cards_per_entry_ratio() const { return get_new_prediction(_young_cards_per_entry_ratio_seq); } --- 220,239 ---- double G1Analytics::predict_alloc_rate_ms() const { return get_new_prediction(_alloc_rate_ms_seq); } ! double G1Analytics::predict_cost_per_logged_card_ms() const { ! return get_new_prediction(_cost_per_logged_card_ms_seq); } double G1Analytics::predict_scan_hcc_ms() const { return get_new_prediction(_cost_scan_hcc_seq); } double G1Analytics::predict_rs_update_time_ms(size_t pending_cards) const { ! return pending_cards * predict_cost_per_logged_card_ms() + predict_scan_hcc_ms(); } double G1Analytics::predict_young_cards_per_entry_ratio() const { return get_new_prediction(_young_cards_per_entry_ratio_seq); }
< prev index next >