summaryrefslogtreecommitdiffstats
path: root/runtime/stat.c
Commit message (Collapse)AuthorAgeFilesLines
* Use 'static' as much as possibleJosh Stone2009-01-281-6/+6
| | | | | | | | | | This change just inserts 'static' on runtime, tapset, and generated C functions and globals, so the compiler can do a better job of optimizing. My tests with small scripts show ~10% reduction in compile time and ~20% reduction in module size. Larger scripts may show less benefit, but I expect purely positive results.
* Fix the conflicted for_each_cpu macro with 2.6.28.Wenji Huang2008-11-171-3/+3
|
* SW5106 Remove old map and histogram formatting codeStan Cox2008-05-291-50/+0
|
* 2008-01-28 Martin Hunt <hunt@redhat.com>hunt2008-01-281-2/+2
| | | | | | | | * alloc.c: Use DEFINE_SPINLOCK. * counter.c: Ditto. * pmap-gen.c: Ditto. * print_new.c: Ditto. * stat.c: Ditto.
* Add support for memory allocation tracking.hunt2008-01-151-6/+6
|
* 2007-09-12 Martin Hunt <hunt@redhat.com>hunt2007-09-121-10/+4
| | | | | | | | | | | | | | | | | | | | | | | * map-stat.c (_stp_map_new_hstat_log): Set buckets to HIST_LOG_BUCKETS. (_stp_pmap_new_hstat_log): Ditto. (_stp_map_new_hstat_linear): Call _stp_stat_calc_buckets(). (_stp_pmap_new_hstat_linear): Ditto. * stat.h (STP_MAX_BUCKETS): Define.. (HIST_LOG_BUCKETS): Define. * stat.c (_stp_stat_init): Call _stp_stat_calc_buckets(). * stat-common.c (_stp_stat_calc_buckets): New function. Common bucket calculation and error reporting code. (_stp_bucket_to_val): New function. (_stp_val_to_bucket): Renamed and now handles negative numbers. (_stp_stat_print_histogram): Handle negative values in log histograms. (__stp_stat_add): Cleanup.. * map-gen.c (_stp_map_new): Remove buckets param for HIST_LOG. * pmap-gen.c (_stp_pmap_new): Ditto.
* 2007-07-06 Martin Hunt <hunt@redhat.com>hunt2007-07-061-1/+8
| | | | | | | | * stat-common.c (__stp_stat_add): Fix calculations for linear histogram buckets. * stat.c (_stp_stat_init): Check for interval too small.
* 2007-01-31 Martin Hunt <hunt@redhat.com>hunt2007-01-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * string.c (_stp_string_init): Deleted. (_stp_sprintf): Deleted. (_stp_vsprintf): Deleted. (_stp_string_cat_cstr): Deleted. (_stp_string_cat_string): Deleted. (_stp_string_cat_char): Deleted. (_stp_string_ptr): Deleted. (_stp_string_cat): Deleted. (_stp_snprintf): Moved from vsprintf.c. (_stp_vscnprintf): Moved from vsprintf.c. * string.h (STP_STRING_SIZE): Deleted. (STP_NUM_STRINGS): Deleted. Remove all references to type "String". * vsprintf.c (_stp_vscnprintf): Moved to string.c. (_stp_snprintf): Moved to string.c * sym.c (_stp_symbol_sprint): Replaced with _stp_symbol_print, which writes to the print buffer. (_stp_symbol_sprint_basic): Replaced with _stp_symbol_snprint. * runtime.h: Include io.c. * stat-common.c: Use new _stp_print* functions. * stat.c: Ditto. * regs.c: Renamed to regs-ia64.c. * current.c: Renamed regs.c. * regs-ia64.c: New file (renamed from regs.c). * stack.c (_stp_stack_sprint): Renamed _stp_stack_print and now just prints to the print buffer. Calls __stp_stack_print instead of __stp_stack_sprint. (_stp_stack_snprint): New function. Calls _stp_stack_print and then copies the print buffer into a string. (_stp_stack_printj): Deleted. (_stp_ustack_sprint): Deleted. * stack-*.c: Rewritten to print instead of writing to strings. Uses new _stp_print* functions. * print.c (_stp_printf): Create new function instead of macro. (_stp_print): Ditto. (_stp_print_char): New function. * map.c: Use _stp_print() and _stp_print_char() instead of _stp_print_cstr(). * io.c (_stp_vlog): Use _stp_print() instead of _stp_string_cat_cstr(). * copy.c (_stp_string_from_user): Deleted.
* 2007-01-30 Martin Hunt <hunt@redhat.com>hunt2007-01-301-1/+1
| | | | | | | | | | | * alloc.c (_stp_alloc_percpu): Don't implement our own; just call __alloc_percpu with appropriate args for the OS version. (_stp_free_percpu): Delete. * map.c (_stp_map_init): When calling kmalloc_node, first call cpu_to_node() to get the proper node number. * stat.c (_stp_stat_del): Call free_percpu() instead of _stp_free_percpu().
* 2007-01-29 Martin Hunt <hunt@redhat.com>hunt2007-01-291-2/+2
| | | | | | | | | | * alloc.c (_stp_kmalloc): New function. Call kmalloc with the coirrect flags and track usage. (_stp_kzalloc): Ditto. * map.c: Use new alloc calls. * print.c: Ditto. * stat.c: Ditto. * time.c: Ditto.
* 2006-11-15 Martin Hunt <hunt@redhat.com>hunt2006-11-151-2/+2
| | | | | | | * alloc.c (STP_ALLOC_FLAGS): Define. Cleanup ifdefs. * map.c: Use STP_ALLOC_FLAGS. * stat.c: ditto.
* 2006-01-25 Martin Hunt <hunt@redhat.com>hunt2006-01-251-1/+15
| | | | | | | | * stat.c (_stp_stat_init): Use _stp_alloc_percpu(). (_stp_stat_del): New function. * alloc.c (_stp_alloc_percpu): New function. (_stp_free_percpu): New function.
* 2006-01-16 Josh Stone <joshua.i.stone@intel.com>jistone2006-01-161-0/+17
| | | | | | | | | | | | | | | | | | PR 2140 * translate.cxx (mapvar::del): Add ability to delete an indexed stat from (p)maps. (delete_statement_operand_visitor::visit_symbol): Add ability to delete entire pmaps and scalars. (delete_statement_operand_tmp_visitor): Add a special tmpvar visitor to parallel delete_statement_operand_visitor. (c_tmpcounter::visit_delete_statement): Invoke the new visitor. * testsuite/buildok/delete.stp: Also test scalar deletes. * vim/syntax/stap.vim: Recognize 'delete' operator. 2006-01-16 Josh Stone <joshua.i.stone@intel.com> * stat.c (_stp_stat_clear): add a function that just clears a Stat, so we can use delete in the translator.
* 2005-11-08 Martin Hunt <hunt@redhat.com>hunt2005-11-081-27/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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().
* 2005-10-31 Martin Hunt <hunt@redhat.com>hunt2005-10-311-1/+10
| | | | * ALL: Cleanup copyrights.
* 2005-06-18 Martin Hunt <hunt@redhat.com>hunt2005-06-181-0/+254
* counter.c: New file. Counter aggregations. * stat.c: New file. Stat aggregations. * stat.h: Header file for stats. * map-int.c: New file. Support for int64 values. * map-stat.c: New file. Support for stat values. * map-str.c: New file. Support for string values. * map-values.c: Now just includes the necessary map-*.c files. * stat-common.c: New file. Stats stuff common to Stats and maps containing stats. * Doxyfile: Bumped version to 0.6. * README: Renamed README.doc and reorganized.