From 230e7cb0bab4582132de2bc411e355eacbacff4a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 8 Apr 2022 08:10:32 +0200 Subject: Add phase switch contention to build statistics --- libbuild2/context.hxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libbuild2/context.hxx') diff --git a/libbuild2/context.hxx b/libbuild2/context.hxx index ef628c9..0595413 100644 --- a/libbuild2/context.hxx +++ b/libbuild2/context.hxx @@ -43,6 +43,11 @@ namespace build2 bool relock (run_phase unlock, run_phase lock); + // Statistics. + // + public: + size_t contention = 0; // # of contentious phase (re)locks. + private: friend class context; @@ -61,7 +66,7 @@ namespace build2 // is exclusive so we have a separate mutex to serialize it (think of it // as a second level locking). // - // When the mutex is unlocked (all three counters become zero, the phase + // When the mutex is unlocked (all three counters become zero), the phase // is always changed to load (this is also the initial state). // context& ctx_; -- cgit v1.1