cvs commit: src/lib/libmemstat libmemstat.3 memstat.c memstat.h memstat_internal.h memstat_uma.c

Robert Watson rwatson at FreeBSD.org
Wed Jul 20 09:17:43 GMT 2005


rwatson     2005-07-20 09:17:40 UTC

  FreeBSD src repository

  Modified files:
    lib/libmemstat       libmemstat.3 memstat.c memstat.h 
                         memstat_internal.h memstat_uma.c 
  Log:
  UMA supports "secondary" zones, in which a second zone can be layered
  on top of a primary zone, sharing the same allocation "keg".  When
  reporting statistics for zones, do not report the free items in the
  keg as part of the free items in the zone, or those free items will
  be reported more than once: for the primary zone, and then any
  secondary zones off the primary zone.  Separately record and maintain
  a kegfree statistic, and export via memstat_get_kegfree(), which is
  available for use if needed.  Since items free'd back to the keg are
  not fully initialized, and hence may not actually be available (since
  secondary zone ctor-time initialization can fail), this makes some
  amount of sense.
  
  This change corrects a bug made visible in the libmemstat(3)
  modifications to netstat: mbufs freed back to the keg from the
  packet zone would be counted twice, resulting in negative values
  being printed in the mbuf free count.
  
  Some further refinement of reporting relating to secondary zones may
  still be required.
  
  Reported by:    ssouhlal
  MFC after:      3 days
  
  Revision  Changes    Path
  1.4       +2 -0      src/lib/libmemstat/libmemstat.3
  1.2       +8 -0      src/lib/libmemstat/memstat.c
  1.5       +1 -0      src/lib/libmemstat/memstat.h
  1.3       +1 -0      src/lib/libmemstat/memstat_internal.h
  1.5       +2 -1      src/lib/libmemstat/memstat_uma.c


More information about the cvs-all mailing list