summaryrefslogtreecommitdiffstats
path: root/elaborate.h
diff options
context:
space:
mode:
authorfche <fche>2006-01-03 22:33:53 +0000
committerfche <fche>2006-01-03 22:33:53 +0000
commit9a604face6354d63a3948a08e85613168a9dfb88 (patch)
tree3b4f269604baebeb2da9c84e973bed06202bd980 /elaborate.h
parentf256184bbdab4cf63c5ad8917e5b8a31de497fb9 (diff)
downloadsystemtap-steved-9a604face6354d63a3948a08e85613168a9dfb88.tar.gz
systemtap-steved-9a604face6354d63a3948a08e85613168a9dfb88.tar.xz
systemtap-steved-9a604face6354d63a3948a08e85613168a9dfb88.zip
2006-01-03 Frank Ch. Eigler <fche@redhat.com>
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.
Diffstat (limited to 'elaborate.h')
-rw-r--r--elaborate.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/elaborate.h b/elaborate.h
index f2a4bd56..afaf8b18 100644
--- a/elaborate.h
+++ b/elaborate.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-// Copyright (C) 2005 Red Hat Inc.
+// Copyright (C) 2005, 2006 Red Hat Inc.
//
// This file is part of systemtap, and is free software. You can
// redistribute it and/or modify it under the terms of the GNU General
@@ -128,11 +128,14 @@ struct derived_probe: public probe
unsigned probeidx) = 0;
// ... for all probe-points:
// ELABORATE_SPECIFIC_SIGNATURE ENTRYFN {
- // /* allocate context */
+ // /* allocate context - probe_prologue */
// /* copy parameters, initial state into context */
// probe_NUMBER (context);
- // /* deallocate context */
+ // /* deallocate context - probe_epilogue */
// }
+
+ void emit_probe_prologue (translator_output* o, const std::string&);
+ void emit_probe_epilogue (translator_output* o);
};
// ------------------------------------------------------------------------