/usr/share/systemtap/tapset
NameSizeModeActions
arm/-0755rm
arm64/-0755rm
bpf/-0755rm
dyninst/-0755rm
i386/-0755rm
ia64/-0755rm
linux/-0755rm
mips/-0755rm
powerpc/-0755rm
riscv/-0755rm
s390/-0755rm
x86_64/-0755rm
ansi.stp41780644editdlrm
argv.stp27210644editdlrm
choose_defined.stpm2080644editdlrm
container_of.stpm2350644editdlrm
context.stp61030644editdlrm
errno.stp91180644editdlrm
floatingpoint.stp69360644editdlrm
indent-default.stp590644editdlrm
indent.stp45900644editdlrm
init.stp2690644editdlrm
input.stp2630644editdlrm
java.stp13460644editdlrm
libperl5.26.3-64.stp13390644editdlrm
libpython2.7-64.stp5220644editdlrm
livepatch.stp30060644editdlrm
logging.stp41320644editdlrm
macros.stpm5620644editdlrm
null.stp170644editdlrm
offsetof.stpm1830644editdlrm
oneshot.stp380644editdlrm
pn.stp15880644editdlrm
print_stats.stpm17190644editdlrm
private30.stpm800644editdlrm
prometheus.stp1290644editdlrm
prometheus.stpm83800644editdlrm
python.stp4740644editdlrm
python2.stp294350644editdlrm
python3.stp366550644editdlrm
queue_stats.stp94870644editdlrm
random.stp4320644editdlrm
README3710644editdlrm
regex.stp41070644editdlrm
registers.stp110810644editdlrm
sizeof.stpm2120644editdlrm
speculative.stp17460644editdlrm
sreg_arch.stpm2630644editdlrm
stap_staticmarkers.stp96700644editdlrm
stopwatch.stp30630644editdlrm
string.stp75140644editdlrm
switchfile.stp6120644editdlrm
system.stp5930644editdlrm
this.stp1600644editdlrm
timers.stp9240644editdlrm
tls.stp80990644editdlrm
tokenize.stp21240644editdlrm
try_assign.stpm7680644editdlrm
type_defined.stpm3740644editdlrm
tzinfo.stp9300644editdlrm
uconversions-guru.stp60780644editdlrm
uconversions.stp366400644editdlrm
Edit: /usr/share/systemtap/tapset/speculative.stp (1746B)
// Speculative tapset // Copyright (C) 2011-2015 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 // Public License (GPL); either version 2, or (at your option) any // later version. @__private30 global _spec_id @__private30 global _spec_counter% @__private30 global _spec_buff% /** * sfunction speculation - Allocate a new id for speculative output * * The speculation() function is called when a new speculation buffer is needed. * It returns an id for the speculative output. * There can be multiple threads being speculated on concurrently. * This id is used by other speculation functions to keep the threads * separate. */ function speculation:long () { _spec_id += 1 return _spec_id } /** * sfunction speculate - Store a string for possible output later * @id: buffer id to store the information in * @output: string to write out when commit occurs * * Add a string to the speculaive buffer for id. */ function speculate (id:long, output:string) { _spec_counter[id] += 1 _spec_buff[id, _spec_counter[id]] = output } /** * sfunction discard - Discard all output related to a speculation buffer * @id: of the buffer to store the information in * */ function discard (id:long) { delete _spec_buff[id,*] } /** * sfunction commit - Write out all output related to a speculation buffer * @id: of the buffer to store the information in * * Output all the output for @id in the order that it was entered into * the speculative buffer by speculative(). */ function commit (id:long) { foreach([i, counter+] in _spec_buff [id,*]) { printf("%s", _spec_buff[i, counter]) } delete _spec_buff[id,*] }