summaryrefslogtreecommitdiffstats
path: root/sys/vm/uma_int.h
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2005-07-14 16:35:13 +0000
committerrwatson <rwatson@FreeBSD.org>2005-07-14 16:35:13 +0000
commit83343a94ec61e610a2a709f05bfd688ca81a0570 (patch)
treee935c60d431d79792cff482c2856e3788d89de86 /sys/vm/uma_int.h
parentc24543fa5061bf3ea345882d7b2e1d4aba137b60 (diff)
downloadFreeBSD-src-83343a94ec61e610a2a709f05bfd688ca81a0570.zip
FreeBSD-src-83343a94ec61e610a2a709f05bfd688ca81a0570.tar.gz
Introduce a new sysctl, vm.zone_stats, which exports UMA(9) allocator
statistics via a binary structure stream: - Add structure 'uma_stream_header', which defines a stream version, definition of MAXCPUs used in the stream, and the number of zone records in the stream. - Add structure 'uma_type_header', which defines the name, alignment, size, resource allocation limits, current pages allocated, preferred bucket size, and central zone + keg statistics. - Add structure 'uma_percpu_stat', which, for each per-CPU cache, includes the number of allocations and frees, as well as the number of free items in the cache. - When the sysctl is queried, return a stream header, followed by a series of type descriptions, each consisting of a type header followed by a series of MAXCPUs uma_percpu_stat structures holding per-CPU allocation information. Typical values of MAXCPU will be 1 (UP compiled kernel) and 16 (SMP compiled kernel). This query mechanism allows user space monitoring tools to extract memory allocation statistics in a machine-readable form, and to do so at a per-CPU granularity, allowing monitoring of allocation patterns across CPUs in order to better understand the distribution of work and memory flow over multiple CPUs. While here, also export the number of UMA zones as a sysctl vm.uma_count, in order to assist in sizing user swpace buffers to receive the stream. A follow-up commit of libmemstat(3), a library to monitor kernel memory allocation, will occur in the next few days. This change directly supports converting netstat(1)'s "-mb" mode to using UMA-sourced stats rather than separately maintained mbuf allocator statistics. MFC after: 1 week
Diffstat (limited to 'sys/vm/uma_int.h')
-rw-r--r--sys/vm/uma_int.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/uma_int.h b/sys/vm/uma_int.h
index 365aa90..761280d 100644
--- a/sys/vm/uma_int.h
+++ b/sys/vm/uma_int.h
@@ -304,7 +304,7 @@ struct uma_zone {
uma_fini uz_fini; /* Discards memory */
u_int64_t uz_allocs; /* Total number of allocations */
- u_int64_t uz_frees; /* total number of frees */
+ u_int64_t uz_frees; /* Total number of frees */
uint16_t uz_fills; /* Outstanding bucket fills */
uint16_t uz_count; /* Highest value ub_ptr can have */
OpenPOWER on IntegriCloud