Made --drd-stats=yes output even more verbose.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10356 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/drd/drd_main.c b/drd/drd_main.c
index 233c139..7df13a4 100644
--- a/drd/drd_main.c
+++ b/drd/drd_main.c
@@ -575,21 +575,38 @@
// thread_print_all();
if (VG_(clo_verbosity) > 1 || DRD_(s_print_stats))
{
+ ULong pu = DRD_(thread_get_update_conflict_set_count)();
+ ULong pu_seg_cr = DRD_(thread_get_update_conflict_set_new_sg_count)();
+ ULong pu_mtx_cv = DRD_(thread_get_update_conflict_set_sync_count)();
+ ULong pu_join = DRD_(thread_get_update_conflict_set_join_count)();
+
VG_(message)(Vg_UserMsg,
- " thread: %lld context switches",
+ " thread: %lld context switches.",
DRD_(thread_get_context_switch_count)());
VG_(message)(Vg_UserMsg,
- "confl set: %lld full updates and %lld partial updates.",
+ "confl set: %lld full updates and %lld partial updates;",
DRD_(thread_get_compute_conflict_set_count)(),
- DRD_(thread_get_update_conflict_set_count)());
+ pu);
VG_(message)(Vg_UserMsg,
- " segments: created %lld segments, max %lld alive,"
- " %lld discard points",
- DRD_(sg_get_segments_created_count)(),
+ " %lld partial updates during segment creation,",
+ pu_seg_cr);
+ VG_(message)(Vg_UserMsg,
+ " %lld because of mutex/sema/cond.var. operations,",
+ pu_mtx_cv);
+ VG_(message)(Vg_UserMsg,
+ " %lld because of barrier/rwlock operations and",
+ pu - pu_seg_cr - pu_mtx_cv - pu_join);
+ VG_(message)(Vg_UserMsg,
+ " %lld partial updates because of thread join"
+ " operations.",
+ pu_join);
+ VG_(message)(Vg_UserMsg,
+ " segments: created %lld segments, max %lld alive,",
DRD_(sg_get_max_segments_alive_count)(),
DRD_(thread_get_discard_ordered_segments_count)());
VG_(message)(Vg_UserMsg,
- " and %lld merges.",
+ " %lld discard points and %lld merges.",
+ DRD_(sg_get_segments_created_count)(),
DRD_(sg_get_segment_merge_count)());
VG_(message)(Vg_UserMsg,
"segmnt cr: %lld mutex, %lld rwlock, %lld semaphore and"