From 9a604face6354d63a3948a08e85613168a9dfb88 Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 3 Jan 2006 22:33:53 +0000 Subject: 2006-01-03 Frank Ch. Eigler 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 * io.c (_stp_softerror): New function. 2006-01-03 Frank Ch. Eigler * systemtap.base/timers.exp: Extend the test run duration. Accept skipped probe warnings at shutdown. --- stap.1.in | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'stap.1.in') diff --git a/stap.1.in b/stap.1.in index e90bb09e..69c1e6d2 100644 --- a/stap.1.in +++ b/stap.1.in @@ -50,7 +50,7 @@ a named file, from standard input, or from the command line. The program runs until it is interrupted by the user, or if the script voluntarily invokes the .I exit() -function, or by any fatal error. +function, or by sufficient number of soft errors. .PP The language, which is described in a later section, is strictly typed, declaration free, procedural, and inspired by @@ -639,8 +639,9 @@ the module then communicates with it, copying trace data from the kernel into temporary files, until the user sends an interrupt signal. Any run-time error encountered by the probe handlers, such as running out of memory, division by zero, exceeding nesting or runtime limits, -results in an error condition that prevents further probes from -running. Finally, stpd unloads the module, and cleans up. +results in a soft error indication. Soft errors in excess of +MAXERRORS block of all subsequent probes, and terminate the session. +Finally, stpd unloads the module, and cleans up. .SH EXAMPLES See the @@ -692,6 +693,12 @@ Maximum number of statements to execute during any single probe hit. .TP MAXMAPENTRIES Maximum number of rows in any single global array. +.TP +MAXERRORS +Maximum number of soft errors before an exit is triggered. +.TP +MAXSKIPPED +Maximum number of skipped reentrant probes before an exit is triggered. .PP In case something goes wrong with -- cgit