From 7ba70af105ed918b5b07e5bba8b5d27a8d911249 Mon Sep 17 00:00:00 2001 From: hunt Date: Tue, 8 Nov 2005 19:48:23 +0000 Subject: 2005-11-08 Martin Hunt * map.c (_stp_map_init): New function. Extracted from _stp_map_new() so it can be used in _stp_pmap_new(). (_stp_map_new): Call _stp_map_init(). (_stp_pmap_new): New function. (_stp_pmap_new_hstat_linear): New function. (_stp_pmap_new_hstat_log): New function. (_stp_pmap_del): New function. (_stp_pmap_printn_cpu): New function. (_stp_pmap_printn): New function. (_stp_new_agg): New function. (_stp_add_agg): New function. (_stp_pmap_agg): New function. (_new_map_clear_node): New function. * map.h (struct map_root): Add Hist struct. Add copy and cmp function pointers for pmaps. * stat.h: Remove Stat struct. Replace with Hist struct that is limited to only histogram params. * map-stat.c: Fix up references to histogram params in map_root. * stat-common.c: Ditto. * stat.c: Ditto. * pmap-gen.c: New file. Implements per-cpu maps. * map-gen.c: Minor bug fixes. Use new VAL_IS_ZERO() macro. * alloc.c (vmalloc_node): For NUMA, provide a vmalloc that does node-local allocations. (_stp_alloc_cpu): A version of _stp_alloc() that does node-local allocations. (_stp_valloc): A version of _stp_valloc() that does node-local allocations. (__stp_valloc_percpu): New function. Like alloc_percpu() except uses _stp_valloc(). (_stp_vfree_percpu): New function. Like free_percpu(). --- runtime/stat.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'runtime/stat.h') diff --git a/runtime/stat.h b/runtime/stat.h index 89862532..95872758 100644 --- a/runtime/stat.h +++ b/runtime/stat.h @@ -29,19 +29,18 @@ struct stat_data { #endif int64_t histogram[]; }; - typedef struct stat_data stat; -struct _Stat { - enum histtype hist_type; - int hist_start; - int hist_stop; - int hist_int; - int hist_buckets; - struct stat_data *sd; - struct stat_data *agg; -}; +/** Information about the histogram data collected. This data + is global and not duplicated per-cpu. */ -typedef struct _Stat *Stat; +struct _Hist { + enum histtype type; + int start; + int stop; + int interval; + int buckets; +}; +typedef struct _Hist *Hist; #endif /* _STAT_H_ */ -- cgit