You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2014/03/23 22:53:27 UTC

svn commit: r1580624 - /subversion/trunk/subversion/libsvn_subr/cache-membuffer.c

Author: stefan2
Date: Sun Mar 23 21:53:27 2014
New Revision: 1580624

URL: http://svn.apache.org/r1580624
Log:
Fix an edge case in our debug cache usage / performance reporting.
If the membuffer cache has not been used much, not all groups may
have been initialized, yet.

* subversion/libsvn_subr/cache-membuffer.c
  (svn_membuffer_get_segment_info): Exclude groups from reporting that
                                    have not been initialized, yet.
                                    They are unused by definition.

Modified:
    subversion/trunk/subversion/libsvn_subr/cache-membuffer.c

Modified: subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cache-membuffer.c?rev=1580624&r1=1580623&r2=1580624&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cache-membuffer.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cache-membuffer.c Sun Mar 23 21:53:27 2014
@@ -2835,14 +2835,15 @@ svn_membuffer_get_segment_info(svn_membu
 
   if (include_histogram)
     for (i = 0; i < segment->group_count; ++i)
-      {
-        entry_group_t *chain_end
-          = last_group_in_chain(segment, &segment->directory[i]);
-        apr_size_t use
-          = MIN(chain_end->header.used,
-                sizeof(info->histogram) / sizeof(info->histogram[0]) - 1);
-        info->histogram[use]++;
-      }
+      if (is_group_initialized(segment, i))
+        {
+          entry_group_t *chain_end
+            = last_group_in_chain(segment, &segment->directory[i]);
+          apr_size_t use
+            = MIN(chain_end->header.used,
+                  sizeof(info->histogram) / sizeof(info->histogram[0]) - 1);
+          info->histogram[use]++;
+        }
 
   return SVN_NO_ERROR;
 }