diff options
author | fche <fche> | 2006-01-03 22:33:53 +0000 |
---|---|---|
committer | fche <fche> | 2006-01-03 22:33:53 +0000 |
commit | 9a604face6354d63a3948a08e85613168a9dfb88 (patch) | |
tree | 3b4f269604baebeb2da9c84e973bed06202bd980 /elaborate.h | |
parent | f256184bbdab4cf63c5ad8917e5b8a31de497fb9 (diff) | |
download | systemtap-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.h | 9 |
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); }; // ------------------------------------------------------------------------ |