summaryrefslogtreecommitdiffstats
path: root/runtime
Commit message (Collapse)AuthorAgeFilesLines
...
* 2006-03-26 Martin Hunt <hunt@redhat.com>hunt2006-03-262-28/+34
| | | | | | | | | | | | | | | * bench2/bench.rb (Bench::run): Instead of loading the module once and running against different numbers of threads, load and unload the module each time. Then keep track of failures per thread. Also use the new itest to keep the tests the same size regardless of the number of threads. (Bench::initialize): Make itest if needed. (Bench::load, Stapbench::load): Increase buffer size to 8MB. * bench2/itest.c: Change arg to be the number of threads instead of the number of millions of calls to make. This makes it easy to divide the work among multiple threads without making the test run many times longer.
* 2006-03-24 Martin Hunt <hunt@redhat.com>hunt2006-03-241-10/+20
| | | | | Patch from Gui,Jian <guij@cn.ibm.com> * bench2/bench.rb: PPC64 fixes.
* Fix 2076.hien2006-03-201-42/+48
|
* 2006-03-20 Martin Hunt <hunt@redhat.com>hunt2006-03-202-4/+6
| | | | * procfs.c (_stp_write): Combine buffers only for REALTIME_DATA.
* *** empty log message ***hunt2006-03-201-2/+4
|
* change relayfs version checking ifdefstrz2006-03-166-14/+19
|
* Fix for bug #2406 (autodetect supported relayfs versions)trz2006-03-158-17/+212
|
* Added multiple threads and better cpuspeed handling.hunt2006-03-155-67/+143
|
* 2006-03-15 Martin Hunt <hunt@redhat.com>hunt2006-03-152-1/+5
| | | | * procfs.c (STP_DEFAULT_BUFFERS): Bump up to 256.
* 2006-03-09 Martin Hunt <hunt@redhat.com>hunt2006-03-0910-0/+438
| | | | * bench2: New directory containing a benchmark framework.
* 2006-03-06 Martin Hunt <hunt@redhat.com>hunt2006-03-063-28/+100
| | | | | | | | | | * librelay.c (start_cmd): Set proper uid/gid before execing command. (system_cmd): New function. (cleanup_and_exit): Wait for any child processes to complete. (stp_main_loop): Recognize STP_SYSTEM message. * stpd.c (main): Add support for "-u username".
* 2006-03-06 Martin Hunt <hunt@redhat.com>hunt2006-03-062-0/+10
| | | | * transport_msgs.h (struct cmd_info): New message.
* 2006-02-25 Martin Hunt <hunt@redhat.com>hunt2006-02-255-27/+137
| | | | | | | | | | | | | | | | | | * procfs.c (_stp_proc_write_cmd): Check return code for _stp_transport_open(). * transport.c (_stp_transport_write): This function can now sleep because it is (_stp_handle_start): Don't use a mutex when a simple atomic will do. (_stp_work_queue): Check atomic to see if probe_start() has finished before attempting exit. (_stp_transport_close): PR2391. Cancel work queue. (_stp_transport_init): If _stp_register_procfs() fails, return an error code. * transport.txt: New file. Documents transport initialization and shutdown sequence.
* 2006-02-25 Martin Hunt <hunt@redhat.com>hunt2006-02-252-6/+15
| | | | * librelay.c (init_stp): Better error handling and cleanup.
* 2006-02-23 Frank Ch. Eigler <fche@elastic.org>fche2006-02-233-5/+31
| | | | | | | | | | | | | | | PR 1304 * parse.cxx (lexer): Take systemtap_session argument. (lexer::scan): Support $1..$NNNN and @1...@NNNN expansion. * stap.1.in: Document this. * testsuite/semok/args.stp: New test. * translate.cxx (var::init, emit_global): Emit code to allow named module parameters to initialize global string/number scalars. * stap.1.in: Don't document this yet. PR 2334 * main.cxx (main): Clarify "-v" option repeatibility. * stap.1.in: Ditto.
* 2006-02-17 Martin Hunt <hunt@redhat.com>hunt2006-02-173-11/+23
| | | | | | | * procfs.c (_stp_proc_read_cmd): Change spin_lock() to spin_lock_irqsave(). * transport.c (_stp_work_queue): Ditto.
* 2006-02-10 Martin Hunt <hunt@redhat.com>hunt2006-02-102-4/+6
| | | | * copy.c (_stp_copy_from_user): Revert previous incorrect change.
* 2006-02-09 Martin Hunt <hunt@redhat.com>hunt2006-02-102-1/+8
| | | | | * copy.c (_stp_copy_from_user): If access fails, return -1.
* Cleanuphunt2006-01-251-2/+6
|
* 2006-01-25 Martin Hunt <hunt@redhat.com>hunt2006-01-252-0/+7
| | | | * agg/stats.c (main): Delete Stats when done.
* 2006-01-25 Martin Hunt <hunt@redhat.com>hunt2006-01-252-0/+40
| | | | | * alloc.c (_stp_alloc_percpu): New function. (_stp_free_percpu): New function.
* 2006-01-25 Martin Hunt <hunt@redhat.com>hunt2006-01-253-3/+85
| | | | | | | | * 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-19 Martin Hunt <hunt@redhat.com>hunt2006-01-193-11/+15
| | | | | * pmap-gen.c (_stp_pmap_get): Fix bug where old data from agg map could be returned after element was deleted.
* 2006-01-16 Josh Stone <joshua.i.stone@intel.com>jistone2006-01-162-0/+22
| | | | | | | | | | | | | | | | | | 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.
* 2006-01-16 Martin Hunt <hunt@redhat.com>hunt2006-01-162-3/+12
| | | | | * map.c (_stp_pmap_agg): Return NULL when aggregation fails.
* 2006-01-15 Frank Ch. Eigler <fche@elastic.org>fche2006-01-152-3/+4
| | | | | | | | PR 2148 * translate.cxx (MAXERRORS): Actually the max should be 0, so first error aborts session. * Revert last stp_exit change.
* 2006-01-10 Martin Hunt <hunt@redhat.com>hunt2006-01-102-0/+7
| | | | * io.c (_stp_exit): set STAP_SESSION_STOPPING.
* 2006-01-03 Frank Ch. Eigler <fche@redhat.com>fche2006-01-032-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR 1144, 1379 * tapsets.cxx (emit_probe_prologue, _epilogue): New routines. Call from existing derived_probe spots. Implement soft errors in epilogue code. Implement reentrancy detection in prologue code. (dwarf_derived_probe::emit_deregistration): Add kprobes layer "nmissed" to skipped_count. * translate.cxx (varlock): Use nsleep(TRYLOCKDELAY) in lock contention loop. (emit_module_exit): Report number of soft errors and skipped probes. (emit_function, _probe): Add __restrict__ marker to context pointer. (translate_pass): Define new MAXTRYLOCK, TRYLOCKDELAY, MAXERRORS, MAXSKIPPED parameters. * tapset/logging.stp (error): Don't stp_error, just set context state. * stap.1.in, stapfuncs.5.in: Document soft errors. * elaborate.h: Corresponding changes. 2006-01-03 Frank Ch. Eigler <fche@redhat.com> * io.c (_stp_softerror): New function. 2006-01-03 Frank Ch. Eigler <fche@redhat.com> * systemtap.base/timers.exp: Extend the test run duration. Accept skipped probe warnings at shutdown.
* 2005-12-14 Martin Hunt <hunt@redhat.com>hunt2005-12-145-22/+71
| | | | | | | | | | | | | * 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.
* 2005-12-14 Martin Hunt <hunt@redhat.com>hunt2005-12-142-0/+17
| | | | * emul.h: Add fake spinlock funcs.
* 2005-12-13 Martin Hunt <hunt@redhat.com>hunt2005-12-132-1/+6
| | | | | * map.c (_stp_map_sortn): Set a limit of 30 for n. Automatically call _stp_map_sort() if more is requested.
* 2005-12-08 Frank Ch. Eigler <fche@elastic.org>fche2005-12-083-1/+38
| | | | | | | | | | | | | | | PR 1937 * buildrun.cxx (run_pass): Pass new "-d PID" option to stpd. Set SIGHUP to SIG_IGN too. 2005-12-08 Frank Ch. Eigler <fche@elastic.org> PR 1937 * stpd.c (main): Support new "-d" option. (usage): Document it. * librelay.c (driver_poll): New function to react to death of driver process. (stp_main_loop): Call it if "-d PID" given. Treat SIGHUP like others.
* 2005-12-08 Martin Hunt <hunt@redhat.com>hunt2005-12-082-2/+34
| | | | | | | * 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.
* 2005-12-08 Martin Hunt <hunt@redhat.com>hunt2005-12-085-0/+190
| | | | | * maps/map.test: Add size test. * pmaps/pmap.test: Add size test.
* 2005-12-07 Martin Hunt <hunt@redhat.com>hunt2005-12-072-40/+4
| | | | | * agg/agg.test: Adjust results to match the more compact histogram format.
* 2005-12-07 Martin Hunt <hunt@redhat.com>hunt2005-12-073-95/+9
| | | | | * alloc.c: Remove all unused functions. * io.c: Add vprintf() prototype.
* 2005-12-07 Martin Hunt <hunt@redhat.com>hunt2005-12-076-295/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 2005-12-07 Martin Hunt <hunt@redhat.com>hunt2005-12-0713-75/+24
| | | | | | | | | | * pmaps/*.c: Change pmap type from MAP to PMAP. * pmaps/pmap.test: Adjust results to match the more compact histogram format. * maps/map.test: Adjust results to match the more compact histogram format.
* 2005-12-02 Martin Hunt <hunt@redhat.com>hunt2005-12-022-6/+13
| | | | | | | * procfs.c (_stp_set_buffers): kmalloc the buffers instead of vmalloc. (_stp_register_procfs): Ditto. (_stp_unregister_procfs): kfree the buffers.
* 2005-11-30 Martin Hunt <hunt@redhat.com>hunt2005-11-302-1/+6
| | | | | * io.c (_stp_exit): To prevent any possible interactions with the probed function, just set a flag here.
* 2005-11-30 Martin Hunt <hunt@redhat.com>hunt2005-11-304-16/+39
| | | | | | | | | * transport.h (STP_WORK_TIMER): Declare. * transport.c (_stp_work_queue): Wake up every STP_WORK_QUEUE jiffies and check IO and exit status. (_stp_handle_exit): Deleted. * procfs.c (_stp_proc_write_cmd): Just set exit flag on STP_EXIT. (_stp_write): Don't call wake_up_interruptible.
* 2005-11-29 Martin Hunt <hunt@redhat.com>hunt2005-11-302-5/+4
| | | | * recreate_links: Remove links to deleted files.
* [ChangeLog]graydon2005-11-292-24/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-28 Graydon Hoare <graydon@redhat.com> * translate.cxx (var::assert_hist_compatible): New method. (var::hist): New method. (c_unparser::load_aggregate): New method. (hist_op_downcaster): Remove, it was a mistake. (expression_is_hist_op): Likewise. (c_tmpcounter::visit_print_format): Implement print(@hist(...)). (c_unparser::visit_print_format): Likewise. * staptree.h (struct print_format): Add optional hist_op* member. * staptree.cxx (traversing_visitor::visit_functioncall): Visit hist_op if present in print_format. (deep_copy_visitor::visit_print_format): Likewise. * parse.cxx (parse_symbol): Special case to consume print(@hist(...)). * elaborate.cxx (typeresolution_info::visit_arrayindex): Fix type inference bug. (typeresolution_info::visit_foreach_loop): Likewise. * testsuite/buildok/print_histograms.stp: New test. [runtime/ChangeLog] 2005-11-28 Graydon Hoare <graydon@redhat.com> * stat-common.c (_stp_stat_print_histogram): Various formatting corrections and aesthetic tweaks. (__stp_stat_add): Correction to linear bucket underflow cases.
* 2005-11-28 Martin Hunt <hunt@redhat.com>hunt2005-11-288-26/+36
| | | | | | | | | | | * 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.
* 2005-11-28 Martin Hunt <hunt@redhat.com>hunt2005-11-282-1/+4
| | | | | * map.c (_stp_pmap_del): Use _stp_free_percpu() to free pmaps.
* 2005-11-28 Martin Hunt <hunt@redhat.com>hunt2005-11-286-1/+284
| | | | | * map-stat.c (_stp_pmap_new_hstat_log): Fix typo. Call _stp_pmap_new() instead of _stp_map_new().
* 2005-11-11 Martin Hunt <hunt@redhat.com>hunt2005-11-112-72/+4
| | | | * map.h: Removed old API macros and prototypes.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-114-24/+44
| | | | | | | | | * 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.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-114-1/+313
| | | | | | * pmaps/ix2.c: New test. Test _stp_pmap_get_*(). * pmaps/iii3.c: New test. Test _stp_pmap_get_*(). * pmaps/pmap.test: Update.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-104-58/+71
| | | | | | * 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.