| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* map.c (_stp_map_init): Fix signed vs unsigned comparison warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bench2/bench.rb: Updated to work with new transport
and new itest.c.
* bench2/Makefile: Updated for new itest.c
* bench2/itest.c: Rewritten to use multiple threads
and automatically divide the workload among the threads.
* print.c (_stp_print_flush): Move to print_new.c and
print_old.c.
* print_new.c: New file containing _stp_print_flush()
for the new transport.
* print_old.c: Ditto for old transport.
* runtime.h (STP_OLD_TRANSPORT): Define
(errk): Define.
(MAXSTRINGLEN): Define if not already defined.
* io.c (_stp_vlog): Use _stp_ctl_write().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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().
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3708
* map.c (str_copy): Check for NULL pointers.
(_new_map_set_int64): Don't check val for 0.
(_new_map_set_str): Don't check val for NULL.
* map-gen.c (VAL_IS_ZERO): Removed.
(_stp_map_del): New.
(__stp_map_set): Don't check for zero.
* pmap-gen.c (VAL_IS_ZERO): Removed.
(_stp_pmap_del): New.
(__stp_pmap_set): Don't check for zero.
|
|
|
|
|
|
|
| |
* alloc.c (STP_ALLOC_FLAGS): Define.
Cleanup ifdefs.
* map.c: Use STP_ALLOC_FLAGS.
* stat.c: ditto.
|
|
|
|
| |
* string.c (_stp_string_cat_cstr): Use memcpy() instead of strncpy().
|
|
|
|
|
| |
* map.c (_stp_pmap_agg): Return NULL when aggregation
fails.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* pmap-gen.c (_stp_pmap_new_*): Initialize lock.
(_stp_pmap_set_*): Lock map while in use.
(_stp_pmap_add_*): Lock map while in use.
(_stp_pmap_get_cpu): Ditto.
(_stp_pmap_get): Lock each per-cpu map.
* map-gen.c: Define and use NULLRET for a NULL return value.
* map.c (_stp_pmap_clear): New function.
(_stp_pmap_agg): Lock each per-cpu map as
it gets aggregated.
|
|
|
|
|
| |
* map.c (_stp_map_sortn): Set a limit of 30 for n. Automatically
call _stp_map_sort() if more is requested.
|
|
|
|
|
|
|
| |
* map.c (_new_map_create): Only increment map size if a node
was moved off the free list.
(_stp_map_size): New function.
(_stp_pmap_size): New function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR1923
* map.h (struct map_root): Remove membuf.
(struct pmap): Define.
(PMAP): Declare.
* map.c (_stp_map_init): Use kmalloc() to allocate individual
nodes instead of using vmalloc() to allocate one big chunk.
(_stp_map_new): Use kmalloc.
(_stp_pmap_new): Use kmalloc. Return a PMAP.
(__stp_map_del): New function. Free all the nodes in a map.
(_stp_map_del): Call __stp_map_del() then free map struct.
(_stp_pmap_del): Takes a PMAP. Calls __stp_map_del() for
each cpu.
(_stp_pmap_printn_cpu): Change arg to PMAP.
(_stp_pmap_agg): Change arg to PMAP.
(_stp_pmap_get_agg): Change arg to PMAP.
* map-stat.c (_stp_pmap_new_hstat_linear): Use PMAP
instead of MAP. Fix allocations.
(_stp_pmap_new_hstat_log): Ditto.
* pmap-gen.c Fix all functions to take or return PMAPS
instead of MAPS.
* alloc.c: Remove everything except kmalloc_node().
All runtime code now uses kmalloc() directly.
|
|
|
|
|
|
|
|
|
|
|
| |
* alloc.c (__stp_valloc_percpu): Use same code for up and smp.
(_stp_per_cpu_ptr): New macro.
* user/alloc.c: Ditto.
* map.c: Use _stp_map_cpu_ptr().
* map-stat.c: Ditto.
* pmap-gen.c: Ditto.
* runtime.h: Include alloc.c
* user/runtime.h: Ditto.
|
|
|
|
|
| |
* map.c (_stp_pmap_del): Use _stp_free_percpu() to
free pmaps.
|
|
|
|
|
|
|
|
|
| |
* pmap-gen.c (_stp_pmap_get()): New function. Aggregates
the per-cpu map nodes into an aggregation map node.
* map.c (_stp_new_agg): Return a struct map_node *.
(_stp_add_agg): If count is 0 when adding,
just set the stats.
|
|
|
|
|
|
| |
* map.c: Doc updates.
* pmap-gen.c: Change a bunch of generated function names to
avoid conflicts with maps with the same key and value types.
|
|
|
|
| |
* map.c (_stp_cmp): Use _stp_div64().
|
|
|
|
|
|
| |
* map.c (_stp_cmp): Patch to sort on stats.
(_stp_map_sort): Ditto.
(_stp_map_sortn): Ditto.
|
|
|
|
| |
* map.c: Change order of includes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map.h (struct map_root): Delete fields
used by old API.
* map.c: Remove old map API functions.
* map-stat.c (_stp_map_add_stat): Delete.
(_stp_pmap_new_hstat_linear): Move here from map.c.
(_stp_pmap_new_hstat_log): Ditto.
* list.c: Deleted.
* map-keys.c: Deleted.
* map-values.c: Deleted.
* map-int.c: Deleted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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().
|
|
|
|
| |
* ALL: Cleanup copyrights.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map-gen.c (MAP_GET_VAL): Use the _stp_get_*() functions.
(_stp_map_set_*): When setting to "", don't create
node if key not found.
(_stp_map_get_*): Use new MAP_GET_VAL. Return "" when
string lookups not found.
* map.c (_stp_get_int64): Check args and return
0 on bad args or wrong type.
(_stp_get_stat): Ditto.
(_stp_key_get_int64): Ditto.
(_stp_get_str): Check args and return
"bad type" on bad args or wrong type.
(_stp_key_get_str): Ditto.
(_new_map_set_str): If setting to "", delete node.
(_new_map_get_*): Delete. Use _stp_get_*().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map.c (_new_map_create, _new_map_del_node, _new_map_del_node,
_new_map_set_int64, _new_map_set_str,_new_map_get_int64,
_new_map_get_str, _new_map_get_stat, _new_map_set_stat):
New internal functions for the new API.
* map-int.c (__stp_map_set_int64): Modify to return an
error code.
* map-stat.c (_stp_map_add_stat): Ditto.
* map-str (_stp_map_set_str): Ditto.
* Doxyfile: Remove predefines NEED_STRING_VALS,
NEED_STATS, NEED_INT64.
* map-keys.c: Ditto.
* list.c (_stp_list_new): Ditto. Also set map->list.
* map-values.c: Ditto.
|
|
|
|
|
| |
* map.c (_stp_map_sortn): Call _stp_map_sort()
when n is 0.
|
|
|
|
|
|
|
|
|
| |
* map.c (_stp_cmp): New comparison function for sorts.
(_stp_swap): New swap function for bubble sort.
(_stp_map_sortn): New function.
(_stp_map_sort): New function.
(_stp_map_printn): New function.
(_stp_map_print): Convert to a macro.
|
|
|
|
|
| |
* map.c (_stp_map_clear): New function. CLears a map but
does not free it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map.c (_stp_map_new): Call _stp_error() on a bad map type.
Comment out dbug()s.
* map-stat.c (_stp_map_new_hstat_log): Call _stp_warn().
(_stp_map_new_hstat_linear): Ditto.
* map-int.c: Comment out dbug()s.
* map-str.c: Comment out dbug()s.
* map-keys.c: Use _stp_warn(). Comment out dbug()s.
|
|
|
|
|
|
|
| |
* map-values.c (_stp_map_add_int64): Fix docs.
* map-str.c: Fix some docs
* map.c: Ditto.
* map.doc: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* map.c (_stp_map_print): Now takes a format string instead of a name.
* map.h (foreach): Update macro.
* string.c (_stp_string_cat_char): New function. Append a char
to a string.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map.c (needed_space): Use do_div().
(_stp_map_print_histogram): Ditto.
(_stp_map_print): Ditto.
* map-values.c (_stp_map_add_int64_stat): Use do_div() when
computing histogram bucket.
* map-keys.c (_stp_map_key): Fix some warnings on 32-bit machines
by using key_data casts.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|